OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4229|回复: 4

imx6ull 裸机开发,开启uart中断后,printf不能用了?

[复制链接]

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2019-7-17
在线时间
57 小时
发表于 2020-3-26 22:27:13 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 anqh 于 2020-6-5 11:12 编辑

如图所示,前两个printf还可以用,第三个就打印不出来了,是我中断设置错误吗?
uart中断处理函数可以进去。

imx6ull.png

2020年03月30日更新:
并不是 printf 不能用,当开启 RX 中断后,主程序就卡住了,main 函数 while(1)都没进去

最佳答案

查看完整内容[请看2#楼]

终于找到问题所在,为什么这样我也不知道.... 原子示例代码用寄存器配置波特率 UART1->UFCR = 5 UBIR = 71; UART1->UBMR = 3124; 将这几句注释掉,换 NXP 提供的函数配置波特率 uart_setbaudrate(UART1, 115200, 80000000); 串口中断正常,主函数也可以继续下去了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2019-7-17
在线时间
57 小时
 楼主| 发表于 2020-3-26 22:27:14 | 显示全部楼层
终于找到问题所在,为什么这样我也不知道....

原子示例代码用寄存器配置波特率
    UART1->UFCR = 5 << 7;
    UART1->UBIR = 71;
    UART1->UBMR = 3124;
将这几句注释掉,换 NXP 提供的函数配置波特率
uart_setbaudrate(UART1, 115200, 80000000);

串口中断正常,主函数也可以继续下去了。
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2020-3-27 11:07:20 | 显示全部楼层
检查一下是不是需要清除什么标志位啥的。你可以在串口中断里面循环打印一个字符串,看看是不是卡死到串口中断里面了
回复

使用道具 举报

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2019-7-17
在线时间
57 小时
 楼主| 发表于 2020-3-27 11:12:35 | 显示全部楼层
zuozhongkai 发表于 2020-3-27 11:07
检查一下是不是需要清除什么标志位啥的。你可以在串口中断里面循环打印一个字符串,看看是不是卡死到串口中 ...

检查过了,串口中断里做的是回显,没有卡死在中断里,RX中断不需要清除吧,读完就没了
回复

使用道具 举报

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2019-7-17
在线时间
57 小时
 楼主| 发表于 2020-4-1 14:16:15 | 显示全部楼层
开启UART RX中断后,按键中断也进不去,只有RX中断可以进去。

有大佬知道问题出现在哪吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 12:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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