完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
(背景)我正在 STM32F051 目标上使用 STM32CubeIde 1.8.0 对 STM32F051 进行小型(GCC/C 语言)测试。这些测试正在完成 ---> 没有 HAL,较低级别的驱动程序,但我正在使用#include "cmsis_gcc.h" 来访问 CPU 中断启用/禁用/状态 <---,因此感谢您的耐心(也就是说,我不打算在这些测试中涉及 HAL 或较低级别的驱动程序)。RM0091 是我的文档资源。
(问题)USART1 配置为在 RXNE=1(接收字符)时引起中断(RXNEIE=1)。已验证设置(接受接收字符时 RXNE 变为 1,RXNEIE 为 1。)预期进入 void USART1_IRQHandler(void) 没有发生。 (问题) 1. 第 11.2.5 节:“EXti 线 25 连接到内部 USART1 唤醒事件”。这是用来让USART1中断请求到达CPU的吗?我没有使用睡眠或唤醒条件(CPU 一直在运行。)在这种情况下,“事件”与“中断”相同吗? 2. RM0091 第 11.2.4 节包含一条我不明白的指令:“• 配置控制映射到 EXTI 的 NVIC IRQ 通道的启用和屏蔽位,以便可以正确确认来自 EXTI 线路之一的中断。” 从我在 RM0091 末尾的各种示例中看到的(但是,不是在 A.19.12 节的 USART 示例中),两个重要步骤是: NVIC_EnableIRQ(); NVIC_SetPriority(); 我在 RM0091 中没有看到 NVIC 寄存器的任何定义。cmsis_gcc.h 不包含任何与 NVIC 相关的内容。此时我没有其他库或包含引用的文件。NVIC 是我可以像其他外设一样用寄存器操作的东西吗? 我相信 __enable_irq() 正在工作:__get_PRIMASK() 结果遵循基于前面的 __disable_irq() 或 __enable_irq() 的预期结果。 |
|
相关推荐
1个回答
|
|
通过使用 CubeMX 生成一个项目,然后删除与 HAL 相关的所有内容,您可能会更幸运。没有多少。这将为您提供一个起点,其中包括适当的 CMSIS 标头和基本启动功能。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3007 浏览 1 评论
3331 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1909 浏览 1 评论
3767 浏览 6 评论
6189 浏览 21 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
78浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
90浏览 5评论
112浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
80浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
83浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-4-22 02:45 , Processed in 0.607412 second(s), Total 41, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191