关于串口接收问题

2019-10-15 03:30发布


[mw_shl_code=c,true]int main(void)
{       
        IIC_Init();
        delay_init();
        uart_init(9600);
        dht11_init();
        gy30_init();
        usart3_init();
        Adc_Init();
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        while(1)
        {

                if(control==0xAA) //¿aÆô′«êä
                {       

                                Send485_humiture();
                                delay_ms(500);
                                Send485_light();
                                delay_ms(500);
                                Send485_soil();
                                delay_ms(500);
                                Send485_pm();
                                delay_ms(500);

                }
                if(control==0x55)
                {
                }
        }
       
}
void USART1_IRQHandler(void)
{
        if (USART_GetITStatus(USART1,USART_IT_RXNE))
        {
                USART_ClearITPendingBit(USART1,USART_IT_RXNE);
                control=USART_ReceiveData(USART1);

        }
}[/mw_shl_code]

我想通过电脑给单片机发送 0xAA数据 单片机通过485开始传数据   发送0x55就停止发送数据   但是我这样编程过后发送0xAA过后 只发送一轮数据也就是只走了if(control==0xAA)里面一次  不能自己一直循环呢?我的control值难道不是该一直等于0xAA么 请问问题在哪呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
小小怪
1楼-- · 2019-10-15 04:26
 精彩回答 2  元偷偷看……
xuande
2楼-- · 2019-10-15 05:03

存到control里面的数据,自己变了?

要么你程序自己改了,要么收到了新的数据。


oywjex
3楼-- · 2019-10-15 07:47
xuande 发表于 2017-2-10 10:50
存到control里面的数据,自己变了?

要么你程序自己改了,要么收到了新的数据。

control 我专门用来存储这个值的 没有用于其他地方 我用的485通讯 通过原子的串口助手给单片机发送的这个信号 也只发送了一个 但是它就是变了。不知道怎么回事
jermy_z
4楼-- · 2019-10-15 11:31
oywjex 发表于 2017-2-10 10:53
control 我专门用来存储这个值的 没有用于其他地方 我用的485通讯 通过原子的串口助手给单片机发送的这个 ...

debug看下这个值
oywjex
5楼-- · 2019-10-15 15:34
jermy_z 发表于 2017-2-10 11:27
debug看下这个值

调试了  然后发现这个值在
[mw_shl_code=c,true]SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;        //1رռÆêyÆ÷
        SysTick->VAL =0X00;                                               //Çå¿Õ¼ÆêyÆ÷        [/mw_shl_code]
中就改变成0x0D了
这是为什么啊?
oywjex
6楼-- · 2019-10-15 17:22
 精彩回答 2  元偷偷看……

一周热门 更多>