OpenEdv-开源电子网

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

32F4与TFmini激光通信。 谁能帮看一下啊中断处理有问题嘛

[复制链接]

1

主题

7

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-7-8
在线时间
6 小时
发表于 2019-7-8 13:30:28 | 显示全部楼层 |阅读模式
本帖最后由 花儿随风 于 2019-7-10 19:53 编辑


void USART1_IRQHandler(void)                        //串口1中断服务程序
{
        static u8 i;
        u8 j=0,k=0;
        u16 check=0;
        u32 distance=0,strength=0;
       
        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
        {
                USART_RX_BUF=USART_ReceiveData(USART1);
                if(USART_RX_BUF[0]!=HEADER)
                {
                        i=0;
                }
                else if((i==1)&&(USART_RX_BUF[1]!=HEADER))
                {
                        i=0;
                }
                else if(i==8)
                {
                        for(j=0;j<8;j++)
                        {
                                check += USART_RX_BUF[j];                                                       
                        }
                        for(k=0;k<9;k++)
                        {
                                        printf("%x",USART_RX_BUF[k]);
                        }
                       
                        if(USART_RX_BUF[8]==(check%256))
                        {                       
                                printf("check = %d",check);
                                printf("\t");
                                distance = USART_RX_BUF[2] + USART_RX_BUF[3]*256;
                                strength = USART_RX_BUF[4] + USART_RX_BUF[5]*256;//计算信号强度值
                                printf("dist = %d",distance);                                       
                                printf("\t");
                                printf("strength = %d",strength);
                                printf("\r\n\r\n");                  //插入换行
                                i=0;
                        }
                       
                }
                else
                {i++;}

输出的数据    5959fdff45070fa    check = 762        dist = 65533        strength = 69     数据一成不变  跪求大佬解释
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-7-8
在线时间
6 小时
 楼主| 发表于 2019-7-11 08:57:29 | 显示全部楼层
已经解决了  程序是没问题的
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2020-3-7
在线时间
2 小时
发表于 2020-3-7 10:06:17 | 显示全部楼层
您好,能不能把源程序发一下,想学习一下?谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-4 08:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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