OpenEdv-开源电子网

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

msp430f5529 uart串口通信访问UCA0RXBUF中的数据

[复制链接]

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-3-30
在线时间
0 小时
发表于 2014-8-1 14:22:08 | 显示全部楼层 |阅读模式
5金钱
msp430f5529在UART串口通信室,用户怎么使用UCA0RXBUF的数据,比如说我通过电脑串口助手给单片机发送了一个数据,现在这个数据存在UCA0RXBUF中,现在在中断服务程序中我要使用这个数据,来让单片机来干别的事情,请问怎么访问接收缓存器里面的类容?谢谢了

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-3-30
在线时间
0 小时
 楼主| 发表于 2014-8-1 14:22:09 | 显示全部楼层
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-3-30
在线时间
0 小时
 楼主| 发表于 2014-8-1 14:22:33 | 显示全部楼层
求帮助啊??
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-3-30
在线时间
0 小时
 楼主| 发表于 2014-8-1 14:23:13 | 显示全部楼层
__interrupt void USCI_A0_ISR( void )
{

switch ( __even_in_range(UCA0IV , 4 ))
{
case 0:break;//无中断


case 2://数据接收中断
while(!(UCA0IFG&UCTXIFG));
UCA0TXBUF = UCA0RXBUF;//将接收缓存器的字符产送给发送缓存器

temp = UCA0RXBUF;


P1DIR |= BIT2;
P8DIR |= BIT0;
P8DIR |= BIT1;

if( temp == 'a')
{
P1OUT |= BIT2;

P8OUT &= 0X00;
}
else if(temp == 2)
{
P1OUT &= ~BIT2;
P8OUT |= BIT1;
P8OUT &= ~BIT0;

}
else if(temp == 3)
{

P1OUT &= ~BIT2;
P8OUT &= ~BIT1;
P8OUT |= BIT0;
}
break;
case 4: //数据发送中断

P8OUT ^= BIT0;
break;


default:break;

}

}
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-3-30
在线时间
0 小时
 楼主| 发表于 2014-8-1 14:23:53 | 显示全部楼层
上面串口中断程序求指点!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-8-1 23:58:56 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-8-2 22:58:51 | 显示全部楼层
回复【6楼】yanghai1992:
---------------------------------
麻烦分享下经验.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2014-3-30
在线时间
0 小时
 楼主| 发表于 2014-8-3 01:19:36 | 显示全部楼层
软件配置好内部模块过后,最好不要用串口调试助手,那个串口下载线好多存在不兼容的情况,数据就无法在显示器上显示,或者乱码(波特率设置不对也会乱码),建议最好用蓝牙模块(模块的波特率必须要和软件设置的相同),用手机下载一个蓝牙串口助手,这样显示更直接,效果更好
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-8-4 00:10:01 | 显示全部楼层
回复【8楼】yanghai1992:
---------------------------------
谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2017-12-5
在线时间
2 小时
发表于 2018-1-14 19:50:01 | 显示全部楼层
522222
回复

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
120
金钱
120
注册时间
2019-11-22
在线时间
21 小时
发表于 2020-8-27 15:22:37 | 显示全部楼层
楼主求解答下载的问题,我用的是IAR编译的,MSPFET烧程序,用Proteus仿真是可以的,下载的时候是可以访问端口,但是报错11:16:36  Synchronization error,求帮忙
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2020-10-6
在线时间
0 小时
发表于 2020-10-7 08:35:21 | 显示全部楼层
yanghai1992 发表于 2014-8-1 14:23
__interrupt void USCI_A0_ISR( void )
{

        switch ( __even_in_range(UCA0 ...

请问下temp是什么数据类型
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2021-8-3
在线时间
4 小时
发表于 2021-8-3 19:59:15 | 显示全部楼层
原来是这样啊
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2021-5-31
在线时间
2 小时
发表于 2021-10-22 21:43:35 | 显示全部楼层

怎么解决,我是直接读取,a=UCA0RXBUF;然后用液晶显示
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 10:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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