OpenEdv-开源电子网

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

2440串口

[复制链接]

3

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
金钱
246
注册时间
2013-10-18
在线时间
30 小时
发表于 2013-11-15 08:42:23 | 显示全部楼层 |阅读模式
我现在需要使用串口接收字符串放入指定数组中,前提是用查询方法。
主函数里一直执行跑马灯程序,串口助手发送了字符串后,2440接收字符串。
问题:可以收到第一个字符 其他字符收不到。而且需要发送两次。
 谁能提供个思路,谢谢。

重复前提是  1.查询。  2.而且还在执行其他程序。

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

使用道具 举报

3

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
金钱
246
注册时间
2013-10-18
在线时间
30 小时
 楼主| 发表于 2013-11-15 11:10:36 | 显示全部楼层
自己解决了。
关键代码
void uart_getDat(unsigned number)
{
unsigned char *ch="yy";
static char i=0;
if((rUTRSTAT0 & 0x1)&&(rURXH0=='p'))
{

while(*ch!='\0')
{
 while(!(rUTRSTAT0 & 0x2));//??????????·?????????·?????
rUTXH0 =*ch++;      //·???×?·??
}
ch=time1;
 while(1) 
 {
while(!(rUTRSTAT0 & 0x1));//????????????????????·?×?±???
time1[i++] = rURXH0;

 if(time1[i-1]=='$')
 {
 time1='\0';
 while(*ch!='\0')
{
 while(!(rUTRSTAT0 & 0x2));
rUTXH0 =*ch++;  
}
i=0;
break;}
}
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-11-15 11:24:02 | 显示全部楼层
帮顶
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-25 23:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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