OpenEdv-开源电子网

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

串口接受蓝牙模块的数据在OLED显示的一个问题。

[复制链接]

5

主题

23

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-3-28
在线时间
11 小时
发表于 2018-3-28 00:38:58 | 显示全部楼层 |阅读模式
10金钱
问题:怎么把res,用在这个显示程序上面,让他显示res里的数据。
串口部分程序用的是原子哥的,定义一个uint16_t res;res=USART_ReceiveData(USART1);这样写的。OLED显示程序是这样的:
void OLED_ShowStr(unsigned char x, unsigned char y, unsigned char ch[], unsigned char TextSize)
{
        unsigned char c = 0,i = 0,j = 0;
        switch(TextSize)
        {
                case 1:
                {
                        while(ch[j] != '\0')
                        {
                                c = ch[j] - 32;
                                if(x > 126)
                                {
                                        x = 0;
                                        y++;
                                }
                                OLED_SetPos(x,y);
                                for(i=0;i<6;i++)
                                        WriteDat(F6x8[c]);
                                x += 6;
                                j++;
                        }
                }break;
                case 2:
                {
                        while(ch[j] != '\0')
                        {
                                c = ch[j] - 32;
                                if(x > 120)
                                {
                                        x = 0;
                                        y++;
                                }
                                OLED_SetPos(x,y);
                                for(i=0;i<8;i++)
                                        WriteDat(F8X16[c*16+i]);
                                OLED_SetPos(x,y+1);
                                for(i=0;i<8;i++)
                                        WriteDat(F8X16[c*16+i+8]);
                                x += 8;
                                j++;
                        }
                }break;
        }
}

最佳答案

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

将其中的一个参数unsigned char ch[],改成指针形式,然后将得到的res传给这个指针即可
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

153

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1323
金钱
1323
注册时间
2016-12-27
在线时间
156 小时
发表于 2018-3-28 00:38:59 | 显示全部楼层
将其中的一个参数unsigned char ch[],改成指针形式,然后将得到的res传给这个指针即可
回复

使用道具 举报

5

主题

23

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-3-28
在线时间
11 小时
 楼主| 发表于 2018-3-29 14:43:25 | 显示全部楼层
大瓶子凌凌漆 发表于 2018-3-28 09:26
将其中的一个参数unsigned char ch[],改成指针形式,然后将得到的res传给这个指针即可

不加上OLED模块的显示程序时,手机可以收发完整数据。比如发123,片子可以收到123。但是佳上显示部分发送123只能接收1。if(USART_GetITStatus(USART1,USART_IT_RXNE))//判断函数类型是否是接收中断,第二个入口函数是中断类型为接收中断
                {       
                        uint16_t res;
                        res=USART_ReceiveData(USART1);
                       USART_SendData(USART1,res);

                       ch[0]=res;
       
                      DelayInit();
                      I2C_Configuration();
                      OLED_Init();
       
        while(1)
        {
                OLED_Fill(0xFF);//全屏点亮
                DelayS(2);
                OLED_Fill(0x00);//全屏灭
                DelayS(2);

                DelayS(2);
                OLED_ShowStr(0,3,ch,1);//测试6*8字符
                OLED_ShowStr(0,4,"Hello Tech",2);                                //测试8*16字符
                DelayS(2);
                OLED_CLS();//清屏
                OLED_OFF();//测试OLED休眠
                DelayS(2);
                OLED_ON();//测试OLED休眠后唤醒

                DelayS(2);
        }

                }
        }
回复

使用道具 举报

5

主题

23

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-3-28
在线时间
11 小时
 楼主| 发表于 2018-3-29 14:51:24 | 显示全部楼层
大瓶子凌凌漆 发表于 2018-3-28 09:26
将其中的一个参数unsigned char ch[],改成指针形式,然后将得到的res传给这个指针即可

怎么把这个悬赏给你
回复

使用道具 举报

6

主题

153

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1323
金钱
1323
注册时间
2016-12-27
在线时间
156 小时
发表于 2018-3-29 15:36:44 | 显示全部楼层
XIAOADONG 发表于 2018-3-29 14:51
怎么把这个悬赏给你

设置为最佳答案即可
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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