香河英茂工作室 发表于 2025-2-12 23:18:45

问:Timer0_Init(); 不注释时串口打开不正常原因?


Timer0_Init();注不注释都可以编译烧录,但是串口打开在不注释时报错打不开。
不知道原因,
这是15集改的,用T2定时器做中断,
T0、T1定时器做计数器。
要完成CT计数器的作业。



DebugLab 发表于 2025-2-13 09:14:02

如果打开了中断,检查一下是否有中断函数,打开的中断必须有中断函数
检查一下中断函数内是否有耗时的操作,如有,会持续进入中断,导致其他功能无法使用

香河英茂工作室 发表于 2025-2-13 14:36:03

DebugLab 发表于 2025-2-13 09:14
如果打开了中断,检查一下是否有中断函数,打开的中断必须有中断函数
检查一下中断函数内是否有耗时的操作 ...

感谢回复,理解您的意思,但是不知道怎么改。

香河英茂工作室 发表于 2025-2-13 14:39:48

DebugLab 发表于 2025-2-13 09:14
如果打开了中断,检查一下是否有中断函数,打开的中断必须有中断函数
检查一下中断函数内是否有耗时的操作 ...



这是中断函数吧?好像没有Delay等耗时操作吧?

ahong 发表于 2025-2-14 10:28:14

香河英茂工作室 发表于 2025-2-13 14:39
这是中断函数吧?好像没有Delay等耗时操作吧?

这只是初始化函数

香河英茂工作室 发表于 2025-2-14 11:03:45

ahong 发表于 2025-2-14 10:28
这只是初始化函数

感谢回复,我的理解 计数器程序里要有个初始化函数、一个函数调用,一个头文件声明,一个Main.c里的Timer0_Init();可是为什么注释掉Timer0_Init();才能打开串口?而Timer1_Init();不注释串口却是可用的?Timer0_Init();是15集中定时器。用Timer2_Init();代替Timer0_Init();也报错。
页: [1]
查看完整版本: 问:Timer0_Init(); 不注释时串口打开不正常原因?