阅读:1672回复:6
主机经68013串口送出数据研究
我做了个主机经过68013的串口输出的固件程序,是去年底做的,我记得成功了,但这几天我从新装了系统并装了DRIVER STUDIO 2。7后,我在调哪个固件不好用了,郁闷。我在仿真模式下,串口有数据输出,但把固件一下载到68013的板子后,主机就找不到硬件了。
高手指点。 是不是装DS影响的啊? |
|
|
沙发#
发布于:2004-05-24 10:31
用8031的串口0输出数据,固件程序要注意那些呢?有做这方面的么,研究一下。
串口初始化:void SerialPort_Init() { CKCON |= 0x10; TMOD = 0x20; PCON = 0x80 ; SCON0 = 0x50; TH0 = 0xD9; TL0 = 0xD9; EA = 1; ES0 =0; TR1 = 1; } 发送一个字符: void Serial_SendChar(char source) { SBUF0 = source; while(TI == 0); TI = 0; } 但是我一在void TD_Poll(void)函数下加入: ..................... while(1) { Serial_SendChar(\'a\'); delay(9); } ...................... 主机就不认识硬件了,说断开和主机的连接,重试。 我看了,初始化都没问题,就是加入上面的循环就不和用。 但我用仿真模式的话是可以的串口不停的输出a,下在到68013RAM就出现上面说的错误。 |
|
|
板凳#
发布于:2004-05-25 08:53
哥们,你在TD-POLL里面就不用加while语句了,因为,TD_POLL本身就在MAIN函数的WHILE语句里面了!
即,你在TD_POLL里面只需加入 Serial_SendChar(\'a\'); delay(9); 就行了!!!! |
|
地板#
发布于:2004-05-25 09:16
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2004-05-25 17:12
惭愧,多谢两位大侠指点。
兄弟谢过。 |
|
|
5楼#
发布于:2004-05-25 17:16
对了,那是不是说,我在TD_POLL里面只需加入
Serial_SendChar(\'a\'); delay(9); 就能在串口有反复的a输出来了?用万用表可以测量到么? |
|
|
6楼#
发布于:2004-05-25 19:13
应该就可以了!SFR直接在TD-POLL里面操作就是了!
|
|