OpenEdv-开源电子网

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

求助如何从串口中断服务函数跳转到主函数执行相应命令?

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2019-4-2
在线时间
4 小时
发表于 2019-4-20 09:33:24 | 显示全部楼层 |阅读模式
1金钱
新人求助,想从串口中断服务函数中读取命令帧,然后到主函数中判断,若命令帧结束,如从上位机接收的最后一个字符为'#',则执行相应的命令,但是我的程序卡在了
主函数里判断最后一个字符是否是'#'这一步,问题出在哪里呢?


主函数:
int main(void)
{


        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
        delay_init(168);  //初始化延时函数
        uart_init(115200);                //初始化串口波特率为115200
        RS485_Init(115200);                //初始化RS485串口3
        LED_Init();                                        //初始化LED
        TIM3_Int_Init(10000-1,8400-1);
        OV2640_Init();
        delay_ms(200);

        while(1)
        {
               
                if(RS485_receive_str[uart_byte_count-1] == '#')     //卡在这一步了
                {jpeg_test();}

         }
}





串口中断:

void USART3_IRQHandler(void)
{
        unsigned int rec_data;
        uart_byte_count=0;
       
        if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)//接收到数据
                {
                        rec_data = (u8)USART_ReceiveData(USART3);                        //(USART3->DR) 读取接收到的数据
                        RS485_receive_str[uart_byte_count++] = rec_data;                       

                }            

最佳答案

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

问题解决了,不能用STEP OVER,要一直开着RUN
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2019-4-2
在线时间
4 小时
 楼主| 发表于 2019-4-20 09:33:25 | 显示全部楼层
问题解决了,不能用STEP OVER,要一直开着RUN
回复

使用道具 举报

37

主题

596

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1574
金钱
1574
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-4-20 09:51:38 | 显示全部楼层
中断执行完了不就自己跳回去了吗。
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2019-4-2
在线时间
4 小时
 楼主| 发表于 2019-4-20 10:03:23 | 显示全部楼层
candylife9 发表于 2019-4-20 09:51
中断执行完了不就自己跳回去了吗。

理论上是这样啊,但是我调试的时候,运行到主函数的while,然后用串口调试助手发送命令帧,再继续执行程序,就会卡在判断最后一个字符是否是'#'上,然后在while(1)和if(RS485_receive_str[uart_byte_count-1] == '#')这句话之间来回跳转。   我感觉没有串口中断被触发的样子啊?
回复

使用道具 举报

37

主题

596

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1574
金钱
1574
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-4-22 19:52:57 | 显示全部楼层
不仅理论上是这样,本来就是这样。如果连这点都怀疑,那你还是多找找自己的问题吧。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 14:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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