迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1624|回复: 4

【提问】迪文屏与STM32单片机通信

[复制链接]

1

主题

2

回帖

30

积分

新手上路

Rank: 1

积分
30
发表于 2020-12-4 15:26:44 | 显示全部楼层 |阅读模式
大侠们,求一个迪文屏与STM32单片机通信的例程,实现串口的发送接收。目的是为了在迪文屏上用数字键盘进行数字输入,单片机接收到数字后进行相应操作。
回复

使用道具 举报

0

主题

20

回帖

651

积分

高级会员

Rank: 4

积分
651
发表于 2020-12-4 16:28:07 | 显示全部楼层
您好,下面这个链接里面有例程您看下,http://inforum.dwin.com.cn:20080 ... amp;_dsign=de310dad
回复

使用道具 举报

4

主题

4

回帖

437

积分

中级会员

Rank: 3Rank: 3

积分
437
发表于 2020-12-5 19:41:58 | 显示全部楼层
你可以参考这个我写的串口中断接收函数,返回的数据在DWIN_Data数组里,主函数判断wrong的值,为0时再对数据进行处理,NUM为自己设定的数组长度,差不多就这个逻辑吧。

void USART2_IRQHandler(void)
{
        uint8_t Clear =Clear;
        int i,j;
        if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)            //判断读寄存器是否非空
        {      
                USART_ClearITPendingBit(USART2, USART_IT_RXNE);                //清除中断标志
                Raw_Data[counter++] = USART_ReceiveData(USART2);
        }
        else if(USART_GetITStatus(USART2,USART_IT_IDLE) != RESET)
                {
                        Clear = USART2->SR;
                        Clear = USART2->DR;                                                //清除IDLE标志
                        for(i=0;i<counter;i++)
                        {
                                if((Raw_Data==0x5A)&&(Raw_Data[i+1] ==0xA5))//5a a5 05 82/83
                                {
                                        if(Raw_Data[2]<NUM)//NUM为定义的数组长度
                                        {
                                                for(j=0;j<(NUM-Raw_Data[2]);j++)
                                                        DWIN_Data[Raw_Data[2]+j]=0;
                                                for(j=0;j<Raw_Data[2];j++)
                                                {
                                                        DWIN_Data[j]=Raw_Data[i+j+3];
                                                }
                                                wrong=0;
                                        }
                                        else wrong=1;
                        }
                        counter=0;
        }
}
回复

使用道具 举报

1

主题

2

回帖

30

积分

新手上路

Rank: 1

积分
30
 楼主| 发表于 2020-12-6 09:19:09 | 显示全部楼层
MashiMaro 发表于 2020-12-4 16:28
您好,下面这个链接里面有例程您看下,http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=2621&highl ...

非常感谢您的回复
回复

使用道具 举报

1

主题

2

回帖

30

积分

新手上路

Rank: 1

积分
30
 楼主| 发表于 2020-12-6 09:19:43 | 显示全部楼层
湘江旧迹秋心 发表于 2020-12-5 19:41
你可以参考这个我写的串口中断接收函数,返回的数据在DWIN_Data数组里,主函数判断wrong的值,为0时再对数 ...

非常感谢您的回复
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 10:16 , Processed in 0.089154 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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