Hallo, ich betreibe ein ATXMega256D3 auf einem STK600 und mit einem JTAGICE MKII. Ich initialisiere den internen Oszilator auf 32Mhz mit dieser Funktion:
1 | void Clock_init(void) |
2 | {
|
3 | OSC.CTRL |= OSC_RC32MEN_bm; |
4 | while(!(OSC.STATUS & OSC_RC32MRDY_bm)); |
5 | CCP = CCP_IOREG_gc; |
6 | CLK.CTRL = 0x01; |
7 | }
|
1 | void disp_setAdress(uint16_t x, uint16_t y) |
2 | {
|
3 | uint8_t y1 = y/256; |
4 | uint8_t y2 = y%256; |
5 | disp_writeComm((uint8_t)x); |
6 | disp_writeComm((uint8_t)y1); |
7 | disp_writeComm((uint8_t)y2); |
8 | |
9 | }
|
Jetzt renn ich hier in folgendes Problem: wenn ich disp_setAdress(0,100); ausführe dann habe ich sowohl im Wert von y1 wie auch im Wert y2 "0x64" stehen, obwohl y1="0x00" und y2="0x64" seien sollte. Hatte exact den gleichen Code auf einem mega644 und einem mega2560 laufen und das funktionierte perfekt. Jemand eine idee woran das liegen könnte?