完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void systick_config(void)
{ /* SystemFrequency / 1000 1msÖжÏÒ»´Î * SystemFrequency / 100000 10usÖжÏÒ»´Î * SystemFrequency / 1000000 1usÖжÏÒ»´Î */ if (SysTick_Config(SystemCoreClock / 1000)) // ST3.5.0¿â°æ±¾ { /* Capture error */ while (1); } // ¹Ø±ÕµÎ´ð¶¨Ê±Æ÷ //SysTick->CTRL = ~ SysTick_CTRL_ENABLE_Msk; } int main(void) { delay_init(); NVIC_Configuration(); usart_Init(); GPIO_config (); GT811_RA8875_Reset(); LCD_Initializtion(); LCD_TEST(); GT811_Init(); systick_config(); while(1) {chumo();} } 以上是部分程序,systick_config(void)是打开systick中断,chumo();是一个触摸屏感应程序,奇怪的是只有屏蔽掉systick_config();触摸屏才能感应,也就是能触发触摸屏,打开systick中断就不能触发触摸屏,但是一直反复进入systick中断,请问只是说明原因,是不是systick中断太快了,触摸屏来不及反应。谢谢。 |
|
相关推荐
2个回答
|
|
SysTick中断打开但程序不执行可能有多种原因。以下是一些可能的原因和解决方法:
SysTick配置问题:首先,检查SysTick的配置是否正确。确保SysTick定时器的加载值、时钟源选择和中断使能等参数已正确设置。如果配置不正确,可能导致定时器无法正常工作或中断无法触发。 中断优先级冲突:如果系统中存在其他中断,并且这些中断的优先级与SysTick中断相同或更高,它们可能会抢占SysTick中断的处理器资源,导致SysTick中断无法执行。可以检查系统中其他中断的优先级设置,并调整它们以确保SysTick中断具有足够的优先级。 中断服务程序问题:SysTick中断服务程序(ISR)中的代码可能存在错误或异常,导致程序无法正常执行。可以检查ISR中的代码,并确保其逻辑正确且没有死循环或异常。 硬件问题:在某些情况下,硬件故障或损坏可能导致SysTick定时器无法正常工作。例如,如果处理器时钟源存在问题,SysTick定时器可能无法正确计时。此时,需要检查硬件连接和状态,并尝试更换可能损坏的部件。 其他软件问题:其他软件问题,如内存泄漏、堆栈溢出等,也可能导致SysTick中断无法正常执行。可以使用调试工具来检查程序的内存使用情况和堆栈状态,并查找潜在的软件问题。 针对上述可能的原因,以下是一些建议的解决方法: 重新检查SysTick的配置,并确保其参数设置正确。 调整中断优先级设置,确保SysTick中断具有足够的优先级。 检查SysTick中断服务程序中的代码,并修复任何错误或异常。 检查硬件连接和状态,并尝试更换可能损坏的部件。 使用调试工具来查找和修复潜在的软件问题。 请注意,这些建议仅供参考,具体解决方法可能因系统和应用程序的不同而有所差异。 |
|
|
|
SysTick中断打开但程序不执行可能有多种原因。以下是一些可能的原因和解决方法:
SysTick配置问题:首先,检查SysTick的配置是否正确。确保SysTick定时器的加载值、时钟源选择和中断使能等参数已正确设置。如果配置不正确,可能导致定时器无法正常工作或中断无法触发。 中断优先级冲突:如果系统中存在其他中断,并且这些中断的优先级与SysTick中断相同或更高,它们可能会抢占SysTick中断的处理器资源,导致SysTick中断无法执行。可以检查系统中其他中断的优先级设置,并调整它们以确保SysTick中断具有足够的优先级。 中断服务程序问题:SysTick中断服务程序(ISR)中的代码可能存在错误或异常,导致程序无法正常执行。可以检查ISR中的代码,并确保其逻辑正确且没有死循环或异常。 硬件问题:在某些情况下,硬件故障或损坏可能导致SysTick定时器无法正常工作。例如,如果处理器时钟源存在问题,SysTick定时器可能无法正确计时。此时,需要检查硬件连接和状态,并尝试更换可能损坏的部件。 其他软件问题:其他软件问题,如内存泄漏、堆栈溢出等,也可能导致SysTick中断无法正常执行。可以使用调试工具来检查程序的内存使用情况和堆栈状态,并查找潜在的软件问题。 针对上述可能的原因,以下是一些建议的解决方法: 重新检查SysTick的配置,并确保其参数设置正确。 调整中断优先级设置,确保SysTick中断具有足够的优先级。 检查SysTick中断服务程序中的代码,并修复任何错误或异常。 检查硬件连接和状态,并尝试更换可能损坏的部件。 使用调试工具来查找和修复潜在的软件问题。 请注意,这些建议仅供参考,具体解决方法可能因系统和应用程序的不同而有所差异。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1670 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1576 浏览 1 评论
1008 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
698 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1622 浏览 2 评论
1892浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
673浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
535浏览 3评论
556浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
524浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 15:49 , Processed in 1.132493 second(s), Total 84, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号