打印
[单片机芯片]

ch579程序请教

[复制链接]
1565|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 yidingyaoaini 于 2023-2-3 10:44 编辑

请教下面程序有什么问题?
#include "CH57x_common.h"
UINT16 test0_value=0;

void time0_init(void)
{
        /*配置定时器0,定时器的时钟是FREQ_SYS*/
        TMR0_TimerInit( 1*(FREQ_SYS/1000) );   //定时1ms
        TMR0_ITCfg(ENABLE, TMR0_3_IT_CYC_END); //使能定时器周期中断
        NVIC_EnableIRQ( TMR0_IRQn );
}



/*TMR0周期中断*/
void TMR0_IRQHandler(void)
{
        if( TMR0_GetITFlag( TMR0_3_IT_CYC_END ) )
        {
                TMR0_ClearITFlag( TMR0_3_IT_CYC_END );
                CH57xNET_TimeIsr(CH57xNETTIMEPERIOD);                                       /* 定时器中断服务函数 */
                test0_value--;
        }
}

int main()
{
        UINT8 i = 0;
        systick_config();
        GpioInit();
        DebugUSARTInit(115200);                                                     /* 检查错误 */
        time0_init( );        
        test0_value=1000;
        while(test0_value!=0)
        {

        
        };
        PRINT("CH579 TCP client create!\r\n");
        while(1)
        {

        };   
}

程序为什么为一直死在while(test0_value!=0)里面?测试在STM32运行是没问题的,在CH579运行不正常。附上2张图片,在while里面加一个PRINT就能正常运行。






121.jpg (378.26 KB )

121.jpg

使用特权

评论回复
评论
yidingyaoaini 2023-2-3 12:47 回复TA
@TJM2613 :值是在减少的, 
TJM2613 2023-2-3 11:50 回复TA
@yidingyaoaini :那你可以试一下把 while { }; 改成 while { ; } 
TJM2613 2023-2-3 11:47 回复TA
@yidingyaoaini :打印value值了吗?有看到一直减下来没有? 
yidingyaoaini 2023-2-3 09:52 回复TA
@TJM2613 :如果在while里面加个打印信息之类,就可以正常运行, 
TJM2613 2023-2-3 09:48 回复TA
@yidingyaoaini :那你就打印value的值,这是跳出while的条件 而且如果时间是60s的话,那就是要等60*1000s才能跳出 
yidingyaoaini 2023-2-3 09:46 回复TA
@TJM2613 :跟定时器时间没关系,我现在不关心具体时间准不准,是程序就一直停在了while里面, 
TJM2613 2023-2-3 09:44 回复TA
你可以试一下在while里面打印test0_value的值,我觉得是定时时间的问题,感觉不是1ms 
沙发
tpgf| | 2024-3-4 11:26 | 只看该作者
我猜测是不是需要有一个小小的延时 就能正常运行

使用特权

评论回复
板凳
观海| | 2024-3-4 20:14 | 只看该作者
因为中断有优先级 有可能执行完两次中断才会执行while循环从而导致条件判定失败

使用特权

评论回复
地板
八层楼| | 2024-3-4 20:46 | 只看该作者
可以考虑把while循环的判定条件改成一个区间

使用特权

评论回复
5
晓伍| | 2024-3-4 21:18 | 只看该作者
楼主可以尝试一下 用单步执行 应该是可以实现的

使用特权

评论回复
6
磨砂| | 2024-3-4 21:50 | 只看该作者
我觉得主要是数据类型的问题

使用特权

评论回复
7
木木guainv| | 2024-3-4 22:22 | 只看该作者
查看一下晶振是否正常工作

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝