CC->APB2ENR|=1<<2;
GPIOA->CRL&=0XFFF0FFFF;
GPIOA->CRL|=0x00030000;
GPIOA->ODR|=1>>4; 这样写是不是把STM32 的PA5置高电平? 我把LED 负极接PA5 居然能点亮?
IDR是查看引脚电平状态用的寄存器,ODR是引脚电平输出的寄存器。1>>4:1右移4位为0,
所以,你这句 GPIOA->ODR|=1>>4 是没用的。1<<4:1左移4位为0x10,所以GPIOA->ODR|=1<<4 拉高的是PA4。你说能点亮,是因为它们默认就是高的。
扩展:
1、STM32是基于ARM® Cortex® M 处理器内核的 32位闪存微控制器,为MCU用户开辟了一个全新的自由开发空间,并提供了各种易于上手的软硬件辅助工具。STM32 MCU融高性能、实时性、数字信号处理、低功耗、低电压于一身,同时保持高集成度和开发简易的特点。业内最强大的产品阵容,基于工业标准的处理器,大量的软硬件开发工具,让STM32单片机成为各类中小项目和完整平台解决方案的理想选择。按内核架构分为不同产品系列。
2、CSingleDocTemplate类定义了一个文档模板用于实现单文档界面(SDI)。一个SDI应用程序使用主框架窗口来显示一个文档;一次只能打开一个文档。IDR_MAINFRAME是CSingleDocTemplate的一个重要参数。
IDR是查看引脚电平状态用的寄存器。
ODR是引脚电平输出的寄存器。
1>>4:1右移4位为0,
所以,你这句 GPIOA->ODR|=1>>4 是没用的。
1<<4:1左移4位为0x10,
所以GPIOA->ODR|=1<<4 拉高的是PA4。
所以你链接PA5能点亮。