msp430f149 如此中断嵌套可以吗?

[复制链接]
 楼主| 4027379 发表于 2012-2-28 09:33 | 显示全部楼层
我认为你那样uart0收到数据后,单字节立即转发,转发时还要UART1还要用while判断是否准备好了,这样非常占用时间,而且你的Uart0、Uart1用的的同一个晶振?
测试方法可以这样
1.将uart0、uart1用不同的晶振,比如Uar ...
hbb.email 发表于 2012-2-16 17:51


辛苦了!thanks!最近太忙赶进度没来的及看!
现在我也是怀疑
“转发时还要UART1还要用while判断是否准备好了,这样非常占用时间”
所以去掉了UART1转发这一节。大不了串口中不看了。跑几天试试!

有个问题这个消抖是什么意思?
void RecVary0() //串口0接受消抖。
{

while(1)
  {
   Glast_r = UartRecLen0;
   Delay_ms(10);  
   if(Glast_r == UartRecLen0) break;   
  }                                 
}
爱之翼V 发表于 2012-2-28 11:28 | 显示全部楼层
单片机的默认(此时的IP寄存器不做设置)中断优先级为:
外部中断0 > 定时/计数器0 > 外部中断1 > 定时/计数器1 > 串行中断;
当同时有几种中断到达时,高优先级中断会先得到服务。
hbb.email 发表于 2012-2-29 13:28 | 显示全部楼层
辛苦了!thanks!最近太忙赶进度没来的及看!
现在我也是怀疑
“转发时还要UART1还要用while判断是否准备好了,这样非常占用时间”
所以去掉了UART1转发这一节。大不了串口中不看了。跑几天试试!

有个问题这个消 ...
4027379 发表于 2012-2-28 09:33


串口消抖:你怎么知道GPRS返回的数据,是本次收完了?如果我GPRS发了500个字节,你却只收了其中的前200个,就转发出去了怎么办?
你可能会想:
   收到一定的数据后,Delayms(50),再判断是否收到的还是200个字节,就认为本次GPRS发来的数据结束了。
但我我的之断消抖就更加有保障,稳定些。
但是我的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
快速回复 在线客服 返回列表 返回顶部