天嵌 ARM开发社区

 找回密码
 注册
查看: 3359|回复: 1

串口试验的时候有一行执行不过去,各位帮忙看看呗

[复制链接]
suolong123 发表于 2014-6-30 15:44:14 | 显示全部楼层 |阅读模式
  1. void Uart0_Init(unsigned int baudrate)
  2. {
  3.         Led_On(1);
  4.        
  5.         rGPHCON &= ~(0xF0);                //复位串口0控制器
  6.         rGPHCON |= (0xA0);                //设置串口为中断方式
  7.         rGPHUP = 0x00;
  8.         rULCON0 |= 0x03;                //8个数据位,1个停止位
  9.         rUCON0 = 0x05;                        //发送和接收为查询模式
  10.         rUBRDIV0 = (int)(PCLK/baudrate/16)-1;        //设置波特率
  11.         rURXH0 = 0;                                //接收缓存清零
  12.        
  13.         Led_On(2);
  14.         //开串口中断
  15.         rINTMSK &= ~(1<<28);
  16.         Led_On(3);
  17.         rINTSUBMSK &= ~(0x03);
  18.         Led_On(4);
  19.        
  20.         //安装中断函数
  21.         pISR_UART0 = (unsigned int)Uart0_Isr;
  22. }
复制代码


串口初始化的时候,按照书上的方式写的,用Led调试的,但是LED4没有亮,放在LED3之后就能亮,感觉是
rINTSUBMSK &= ~(0x03);
出的问题,不知道怎么解决
 楼主| suolong123 发表于 2014-6-30 15:59:41 | 显示全部楼层
找到问题所在了,必须先安装中断函数,再开中断(把21行放到12行的地方就行了)
可能是因为本身开机后串口就有数据,所以在这里会出错

具体等有经验的人来说明原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-26 07:46 , Processed in 1.062500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表