OpenEdv-开源电子网

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

关于HMI屏幕和精英板串口通讯

[复制链接]

9

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2018-2-1
在线时间
17 小时
发表于 2018-7-19 19:03:26 | 显示全部楼层 |阅读模式
10金钱
我买了一块HMI电容屏,想利用串口通讯来控制pwm
在电容屏按键按下后,用printh 01来发送0x01,在单片机端坐判断变量res==0x01,我把原子提供的串口接收程序改了,去掉了末尾要0x0d 0x0a的协议串口
接收程序
void USART1_IRQHandler(void)
{
        u8 res=0;       
#if SYSTEM_SUPPORT_OS                 //如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
        OSIntEnter();   
#endif
        if(USART1->SR&(1<<5))        //接收到数据
        {         
                res=(u8)USART1->DR;
    key=res;               
                                                                                                                
        }
#if SYSTEM_SUPPORT_OS         //如果SYSTEM_SUPPORT_OS为真,则需要支持OS.
        OSIntExit();                                                                                           
#endif
}
#endif




主程序
#include"timer.h"
#include"delay.h"
#include"usart.h"
#include"key.h"
#include"sys.h"
#include"motion.h"

u8 key=0;

int main()
{
        Stm32_Clock_Init(9);
        delay_init(72);
        stm32_init();
        uart_init(72,9600);
        while(1)
        {
                PDout(11)=0;
                PDout(10)=0;
                PDout(9)=0;
                PDout(8)=0;
                if(key==0x01)
                {
                        timer_pwm3(899,0);
                }
                if(key==0x08)
                {
                        stop();
                }
       ]

]
试了一下,不能控制pwm,但是换成简单地输出一个高电平或者低电平是可以的,为啥?

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

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
发表于 2018-7-20 09:37:15 | 显示全部楼层
key=0X01之后,就没有清零了。然后就不停的初始化。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 14:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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