永发信息网

为什么C8051F120的UART0的串口中断不执行,中断号是4没错,发送设置定时器4溢出

答案:2  悬赏:10  手机版
解决时间 2021-04-13 17:40
  • 提问者网友:niaiwoma
  • 2021-04-13 09:13
为什么C8051F120的UART0的串口中断不执行,中断号是4没错,发送设置定时器4溢出
最佳答案
  • 五星知识达人网友:轻雾山林
  • 2021-04-13 09:36
T4只能作为UART1的波特率发生器。或者使用T1。
T1可以作为两个串口的波特率发生器,T2只能给UART0,T4只能给UART1.
你设置T2试试。追问F120手册上串口选方式1 异步8位可变波特率 可以选1 2 3 4 个定时器都可以做发送或接收的波特率发生器
我改成T2还是一样的问题
我把安装IDE自带的UART0程序拿来原封不动运行,也是一样TI0不置位,中断函数不进
另外问一下TI0在哪些情况会被硬件自动置位追答TI0只在串口把数据发送完成后置位,你用查询方式先试试。
我再F020上试验的时候,发现交叉开关没有配置时,串口都不能工作。追问交叉开关都配置了,最可恨的是安装编译软件自带的例子都是错的,网上的例子大部分也是错的,已经解决,原来是初始化时要人为将T10置位以触发第一次中断,在将数据送到SBUF之前将T10清0,之后再等T10经发送完毕置位后再出中断,这样才能做到与预定定时器的波特率一致。追答我也学习了……建议装一个Silicon Configuration Wizard2,用其提供的功能来完成配置和生成需要的代码。
照你说的来看,网上的很多例子都是没经过脑子就放上去的,要多加小心了。
全部回答
  • 1楼网友:蕴藏春秋
  • 2021-04-13 10:49
定时器4是什么意思?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯