??? 11/12/04 13:11 Read: times |
#81084 - RE: UART 9-Bits Mode Operation Responding to: ???'s previous message |
Thanks all. I changed operation of "flag" such like this and DAC no longer has problems.
flag = 0; ////////// DAC ROUTINE ////////// void dac(void) { if(RI) { a = SBUF; // read from UART nine = RB8; RI = 0; if(nine) { // receive HHHHLLLL high = (a&0xF0) >> 4; // high: 0000HHHH low = (a&0x0F) << 4; // low: LLLL0000 flag = 1; } else if(flag) { // receive LLLLHHHH low |= (a&0xF0) >> 4; // low: LLLL0000 | 0000LLLL = LLLLLLLL DAC0H = high; // output high 4bits DAC0L = low; // output low 8bits high = a&0x0F; // high: 0000HHHH flag = 2; } else if(flag==2) { // receive LLLLLLLL low = a; // low: LLLLLLLL DAC0H = high; // output high 4bits DAC0L = low; // output low 8bits flag = 0; } } } +--------+--------+--------+--------+--------+--------+--------+--------+ |9th bit | 1 | 0 | 0 | 1 | 0 | 0 | | |data bit|HHHHLLLL|LLLLHHHH|LLLLLLLL|HHHHLLLL|LLLLHHHH|LLLLLLLL| repeat | |flag | 0 | 1 | 2 | 0 | 1 | 2 | | +--------+--------+--------+--------+--------+--------+--------+--------+ Remember the old rule: divide and conquer! Big problems are made of lots of small problems - fix the small problems one by one and the big problem shall dissappear. Yes, that right! I repeat that this is important really. This time I could know that again. Many thanks for those of you who kindly have helped me. The next thing I have to do is to make transmission speed much faster. Though baud rate of this is set at 57600bps and sampling frequency should be 57600bps*(2data/33bits) = 3491Hz, it looks like possible input is 800Hz at most from the ocilloscope. This is quite a strange judging from a sampling theory. So, I know there're some point that makes transmission speed much lower than expected. I'll report the reason if I get it, or any comment is welcome in case I have additional problems. In fact I wish I could get the best performance of this system. Thank you very much. |
Topic | Author | Date |
UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: UART 9-Bits Mode Operation | 01/01/70 00:00 | |
RE: SPI vs UART 9-Bits Mode![]() | 01/01/70 00:00 |