OpenEdv-开源电子网

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

usart串口中断中对数组操作

[复制链接]

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2016-4-28
在线时间
8 小时
发表于 2016-4-28 19:40:11 | 显示全部楼层 |阅读模式
1金钱
在中断函数Rx接收时中对数组进行了操作,就是把数据存到数组里了
但在main函数中,调用数组时 里面的数据都是00
是因为数组定义的不对吗?
我是在mian函数外定义的,
在中断源文件xxx_it.c中用 extern 声明的。
是全局变量的用法不正确吗?

最佳答案

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

带上JLINK,调试运行,在中断中设置断点,串口助手启动发送,一般都选择按照16进制发送,看程序是否会运行到断点处,如果没有,有以下几种可能: 1、硬件连接有问题,收发线没有交叉; 2、串口配置函数有问题,没有开启复用功能; 3、配置函数没有问题,但是在程序开始运行之前,没有调用。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2015-7-3
在线时间
55 小时
发表于 2016-4-28 19:40:12 | 显示全部楼层
带上JLINK,调试运行,在中断中设置断点,串口助手启动发送,一般都选择按照16进制发送,看程序是否会运行到断点处,如果没有,有以下几种可能:
1、硬件连接有问题,收发线没有交叉;
2、串口配置函数有问题,没有开启复用功能;
3、配置函数没有问题,但是在程序开始运行之前,没有调用。
回复

使用道具 举报

6

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
406
金钱
406
注册时间
2015-7-2
在线时间
120 小时
发表于 2016-4-28 22:49:35 | 显示全部楼层
1 你要判断对方的数据是否有发出来
回复

使用道具 举报

6

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
406
金钱
406
注册时间
2015-7-2
在线时间
120 小时
发表于 2016-4-28 22:54:18 | 显示全部楼层
1、你要先判断发送方是否有数据发出来,是否正确
2、判断接收方是否接收到数据了,如果没有检查下是否配置了接收中断
3、收发双方数据格式要一致
个人的建议,希望对你有用
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11569
金钱
11569
注册时间
2014-4-1
在线时间
1320 小时
发表于 2016-4-29 08:23:03 | 显示全部楼层

仿真器,在中断处设断点,
先看接收到的数据对不对,再查存储过程。



回复

使用道具 举报

56

主题

520

帖子

0

精华

高级会员

Rank: 4

积分
964
金钱
964
注册时间
2014-11-18
在线时间
160 小时
发表于 2016-4-29 09:02:27 | 显示全部楼层
把数组定义为全局变量,放在uart。c中,然后在。h中申明就可以了。 如果还是不行,说明你串口配置有问题,或者说没进中断。你都要去排除。
自己选择的路,成家前走完。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 19:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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