最近为一个串口的问题苦恼了很久.
要求是这样的:
1、上位机有开始和停止2个按键,按下开始 会给单片机发送0xAA,0x30,0x00,0x00,0x7E 按下停止会给单片机发送0xAA,0x31,0x00,0x00,0x7E
2、上位机有1个温度显示..温度值显示命令(假设水温为10℃):0xAA,0x10,0x00,0x0a,0x7E(0x10和0x7e中间2位数为温度值)
3、要求按下开始后,点亮1个led灯,上位机温度显示每分钟上升5度,按下停止后 led灯熄灭 上位机温度显示每分钟下降5度
我就是发送和接收可以单独写,写在一起就只能接收上位机命令而发不出去命令了。求大大们帮忙
补充内容 (2012-3-27 07:05):
代码和图片请看6和7楼..
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
这里i,k应初始化为零。
建议串口中断服务程序ISR改为
void serial_0(void) interrupt 4
{
if(_testbit_(RI)) // 接收
{
……
}
if(_testbit_(TI)) // 发送
{
……
}
}
还有在串口中断RI 、TI标志,在串口中断服务程序ISR中会自动清零,因此程序中不必加RI=0,TI=0
一周热门 更多>