- 博客(10)
- 收藏
- 关注
原创 STM32 自动识别单击和连续按键
程序设计500ms一下为单击按键 500ms以上为连续按键设置按键引脚#define KEY0 HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_5) //KEY0按键PC5void Key_Init(void){ GPIO_InitTypeDef GPIO_Initure; __HAL_RCC_GPIOC_CLK_ENABLE(); //开启GPIOC时钟 GPIO_Initure.Pin=GPIO_PIN_5; //PC.
2022-05-23 16:40:26
1859
原创 STM32 自定义线程
本章介绍使用stm32单片机实现时间任务上的轮询切换开启定时器,使用cube配置好定时器的定时间,开启定时器中断。 HAL_TIM_Base_Start_IT(&htim2);初始化结构体及全局变量typedef struct task { uint16_t period; // 任务定时时间 uint16_t elapsedTime; // 任务当前时间 uint8_t flag; // 任务标志位 void (*TickFct)(void); // 任务执行函数.
2022-01-05 10:49:01
1531
原创 STM32 HRTIM 时钟同步输入
适用于两个MCU上的HRTIM的时钟源同步,本实验设置的是HRTM工作在连续工作模式下,同步信号更新定时器计数。使用Cube初始化HRTIM 设置定时器的工作模式为连续工作模式;设置HTRTIM为同步输入模式HRTIM1->sMasterRegs.MCR |= (HRTIM_MCR_SYNC_IN_0|HRTIM_MCR_SYNC_IN_1);设置同步时钟重置计数器 ;01:不重置计数器;1x:重置计数器;HRTIM1->sTimerxRegs[HRTIM_TIMERIN.
2021-12-23 19:17:01
1504
原创 STM32 HRTIM 时钟同步输出
时钟同步用于两个芯片做HRTIM的时钟信号同步初始化Master 和Timer_A时钟,使用Cube自动生成;设置事件作为输出信号源,有四种形式00:主定时器启动:01:主定时器compare1;10:TimerA启动或者关闭;11:TimerA compare1;当模式为00或者11时产生的信号只用一次并非每一个周期的开始。HRTIM1->sMasterRegs.MCR |= (HRTIM_MCR_SYNC_SRC_0); // 此时是master compare1输出信号设置信号脉
2021-12-23 15:07:31
1421
原创 STM32 双ADC模式(交错模式)
配置ADC1和ADC2相同引脚的通道,设置ADC1的触发模式为某个定时器触发,ADC2为软件触发,使能;使能ADC1和ADC2的DMA,设置DMA为一个字大小,循环模式;如果使用Cube配置要将自动生成的顺序改为先初始化DMA在初始化ADC配置;在MX_ADC1_Init()函数里面‘配置相关参数 ADC_MultiModeTypeDef multimode = {0}; multimode.Mode = ADC_DUALMODE_INTERL; multimode.DMAAccessMod.
2021-12-23 11:42:24
3274
原创 STM32 串口配置空闲中断(以uart2为例)
开启串口中断服务函数;屏蔽stm32xx_hal_it中USART_IRQHndler()函数的HAL_UART_IRQHandler(&husart2),使用我们自己的Usart2_IRQ()函数;// 自定义串口中断函void Uart2_IRQ(void){ uint8_t res = 0; //接收中断 if(__HAL_UART_GET_FLAG(&huart2,UART_FLAG_RXNE) != RESET) { HAL_UART_Receive(&.
2021-12-23 11:16:16
1842
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人