OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 206|回复: 4

MINI板LCD显示串口接收到字符串

[复制链接]

  离线 

7

主题

19

帖子

0

精华

新手上路

Rank: 1

积分
43
金钱
43
注册时间
2016-12-2
在线时间
9 小时
发表于 2017-3-7 14:39:24 | 显示全部楼层 |阅读模式
正点原子公众号
usart.c文件就是原子的原件。(仅修改了接收的最大字节数)以下是我的主函数
int main(void)
{
        u8 x=0;
        u8 i;
        u8 lcd_id[12];         //存放LCD ID字符串        、
        u8 lcd_id1[30];
        u8 recept[11];     //存放接收到的数据
        delay_init();                     //延时函数初始化          
        uart_init(57600);                 //串口初始化为57600
        LED_Init();                                  //初始化与LED连接的硬件接口
        LCD_Init();
        POINT_COLOR=RED;
       
        sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//打印到lcd_id数组。                                        
          while(1)
        {  
                for(i=0;i<5;i++)
                 {
                    recept[i]=USART_RX_BUF[i];
                 }
                sprintf((char*)lcd_id1,"LCD ID:%s",recept);//把串口接收的数据打印到
               
                POINT_COLOR=RED;       
       
                LCD_ShowString(30,40,200,24,24,lcd_id1);
                LCD_ShowString(30,70,200,16,16,"FTLCD TEST");
                LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
                LCD_ShowString(30,110,200,16,16,lcd_id);                //显示LCD ID                                                       
                LCD_ShowString(30,130,200,12,12,"2014/3/7");                                                       
            x++;
                if(x==12)x=0;
                LED0=!LED0;         
                delay_ms(1000);       
        }
}



原本要显示的数据为AA 83 12 80 55,可现在始终和图片上的一样,把程序下载一遍,即使串口没有接收到任何数据,也是显示536872600


回复

使用道具 举报

  离线 

7

主题

19

帖子

0

精华

新手上路

Rank: 1

积分
43
金钱
43
注册时间
2016-12-2
在线时间
9 小时
 楼主| 发表于 2017-3-7 14:42:24 | 显示全部楼层
回复 支持 反对

使用道具 举报

  离线 

7

主题

19

帖子

0

精华

新手上路

Rank: 1

积分
43
金钱
43
注册时间
2016-12-2
在线时间
9 小时
 楼主| 发表于 2017-3-9 21:33:00 | 显示全部楼层
现在搞明白一些了,但是怎么接收特定长度的字符串啊,那字符串不是以0x0d和0x0a结尾怎么办啊
回复 支持 反对

使用道具 举报

  离线 

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2017-7-18
在线时间
9 小时
发表于 2017-12-7 15:24:40 | 显示全部楼层
我也在做这个,可以分享下程序吗
回复 支持 反对

使用道具 举报

  离线 

6

主题

34

帖子

0

精华

高级会员

Rank: 4

积分
543
金钱
543
注册时间
2015-5-19
在线时间
55 小时
发表于 2017-12-7 20:39:12 | 显示全部楼层
huachuantingyu 发表于 2017-3-9 21:33
现在搞明白一些了,但是怎么接收特定长度的字符串啊,那字符串不是以0x0d和0x0a结尾怎么办啊

需要自己修改串口接收程序,开定时器,通过判断连续两个字符之间的时间间隔判断一次接收是否完成。
回复 支持 反对

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-12-15 20:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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