不使用CubeMX库来控制STM32F3的GPIO
创始人
2024-12-28 13:00:04
0
  1. 引用STM32F3的头文件,如stm32f3xx.h,以便访问寄存器定义。
  2. 为GPIO引脚配置所需的寄存器位,并写入需要的值。 例如,下面的代码将PA10引脚的输出模式设置为推拉,并打开它:
// Enable GPIOA clock                       
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
// Set pin as output 
GPIOA->MODER &= ~(3 << (10 * 2)); // clear bits for the pin
GPIOA->MODER |=  (1 << (10 * 2)); // set pin to output mode
GPIOA->OTYPER &= ~(1 << 10);      // set to push-pull mode
GPIOA->OSPEEDR |= (3 << (10 * 2)); // set to high speed
GPIOA->PUPDR   &= ~(3 << (10 * 2)); // no-pull up, no-pull down
// Set pin high
GPIOA->BSRR |= (1 << 10);          
  1. 可以使用相同的方法配置输入GPIO及触发器,如下所示:
// Enable GPIOC clock                       
RCC->AHBENR |= RCC_AHBENR_GPIOCEN; 
// Set pin as input 
GPIOC->MODER &= ~(3 << (4 * 2)); // clear bits for the pin
GPIOC->PUPDR &= ~(3 << (4 * 2)); // no-pull up, no-pull down
// Configure trigger for Rising edge
EXTI->RTSR |= EXTI_RTSR_TR4;
EXTI->IMR  |= EXTI_IMR_MR4;
NVIC_EnableIRQ(EXTI4_IRQn);

这将启用PC4 GPIO引脚(顺便说一句,注意RCC寄存器控制引脚所在的GPIO时钟),并配置它为一个输入引脚。然后,会配置该引脚上的外部中断,以启动中断服务程序并触发Rising edge事件。

简而言之,您可以通过使用STM32F3系列的寄存器定义,直接控制GPIO并配置它们,而无需使用Cube MX库。

相关内容

热门资讯

透视辅助!aapoker有什么... 透视辅助!aapoker有什么规律吗,aapoker能玩原来是有挂(详细有猫腻教程)辅助器中分为三种...
透视辅助!红龙扑克竟然是真的有... 透视辅助!红龙扑克竟然是真的有挂,红龙扑克果然是真的有挂(详细辅助工具教程);无聊就玩这款真的有辅助...
透视辅助!微扑克网页版辅助,(... 透视辅助!微扑克网页版辅助,(微扑克总结)其实有挂(详细wpk透视辅助教程)1)wpk透视辅助辅助挂...
一分钟了解!!红龙poker正... 一分钟了解!!红龙poker正规吗,红龙扑克真是存在有挂(详细辅助器教程);小薇(透视辅助)致您一封...
5分钟了解!微扑克透视辅助脚本... 5分钟了解!微扑克透视辅助脚本,微扑克规律一直真的是有挂(详细wpk透视辅助教程)所有人都在同一条线...
透视辅助!aaPOKER原来是... 透视辅助!aaPOKER原来是真的有挂,aapoker辅助确实存在有挂(详细外卦挂教程);1、实时a...
透视辅助!微扑克ai辅助器苹果... 透视辅助!微扑克ai辅助器苹果版,(微扑克代码)本来是真的有挂(详细ai辅助器苹果版教程)是一款可以...
盘点一款!!德扑计算胜率软件,... 盘点一款!!德扑计算胜率软件,德扑之星模拟器竟然是真的有挂(详细线上房间教程);一、AI软件牌型概率...
透视辅助!wPK透视辅助软件,... 透视辅助!wPK透视辅助软件,WPK线上其实真的是有挂(详细透明挂教程)1、打开软件启动之后找到中间...
透视辅助!wPk果然有挂,wp... 透视辅助!wPk果然有挂,wpk机制好像存在有挂(详细透明挂教程)1、进入游戏-大厅左侧-新手福利-...