步鞋帮帮众
步鞋帮帮众
关注数: 4
粉丝数: 0
发帖数: 50
关注贴吧数: 90
更新后好卡 mate30pro 今天更新后很卡,感觉机子带不动这小程序了,有木有跟我一样的?
ATMEL89c51IC2串口问题 最近在做一个单片机串口与PC机通信的程序,基本功能是接收到PC机发来的一段代码,做出某些动作,并回复一些代码,开始用的是STC的开发板,程序基本可以用了,但换成ATMEL89C51IC2,程序里,串口接收那部分就不能完整运行了. 大概发下我的接收部分,可以肯定设置上面是没问题的. uint8 flag = 0; uint8 flag1 = 0; uint8 BUFFER[8]; uint8 Uart_Len; 接收中断大概是这样的: void uart_init() interrupt 4 { flag = 0; Uart_Len = 0; while(flag<10&&Uart_Len<8) { if(RI == 1) { RI = 0; BUFFER[Uart_Len++] = SBUF; flag = 0; flag1 = 1; } else { TI=0;flag++;} } } main() { .. .. while(1) { if(flag1 ==1) { if(BUFFER[0]==0x0a) { if(BUFFER[1] == 0x01) { if(BUFFER[2] == 0x02) {这里是要做处理的,我给这里放过标志位,但是程序根本到不了这里} (用STC的单片机就不会出现这个问题,想问高手,是时序出的问题吗?谢谢) } } else if(....) ....... } } }中断里貌似写错了点,原程序想不起来杂写的了,但是保证是在STC开发板上运行过的. 判断接收放到主程序里,是因为处理接收后要发送一段代码回去,我在主程序里用了发送函数,再把发送函数放到中断里编译器提示警告. 还有就是波特率是9600 晶振是11.0592 貌似我设置成2400时,调试是可以用的,是不是我时序上出了问题呢?
200收号 安卓乐汇 卡五潜力号,多饰品,能满级,有首冲!带号联系
也发下吧,第一次rp这么好 玩废了很多号了!安卓乐汇100区
1
下一页