![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stm32
情绪化码农
不要说逻辑,直接上代码
展开
-
重映射的事
关于重映射,刚开始学的我云里雾里啊。先直接来一个中文手册的重映射图进行解释。定时器3的映射引脚,首先默认的硬件连接是PA6,PA7,PB0,PB1。当你需要使用定时器3的通道1,这时PA6被其他东西给占用了,官方为了方便使用者,将定时器3通道1的功能映像在PB4引脚上,可供使用者使用,这时就需要部分映像了,强调要打开AFIO时钟,否则一切操作无效。再进一步,当你使用重映像后的PB4作为定时器3的通道1了,你还需要使用定时器3的通道2,这时候怎么选择呢,一般人是去配置PA7,那就打错特错了,部分映射原创 2020-09-24 17:36:13 · 1437 阅读 · 0 评论 -
按键长短按(软件消抖)
强迫自己不适用延时,是一个优秀的开始。需要源代码的可加本人QQ2587336621直接上代码void key_config(void){ GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE); GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;原创 2020-09-24 17:08:40 · 429 阅读 · 0 评论 -
呼吸灯(定时器实现)
用延时做呼吸灯是无能的表演,真正的大手子是不允许自己的代码中出现可消除的延时。void Timer3_init(void){ GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockCmd(原创 2020-09-24 17:03:13 · 3271 阅读 · 0 评论 -
ADC多通道采集
接上一篇的ADC单通道采集,本篇主要讲解关于ADC多通道采集,同样考虑减少CPU资源的占用,使用DMA通道传输。大家可能感觉DMA有点难理解,刚开始学就使用DMA通道很费劲,但是用我的经验来说,DMA是学习32单片机必不可少的一步,在以后的工作项目开发中,需要考虑软件代码的可使用性,不能再想学校里的简单项目能跑通就行,工作中的要求是要稳定,程序如果不稳定可能用一段时间就会出现未知的BUG。因此,建议新的玩家开发时直接使用DMA,不管事ADC,还是USART等等都可以使用。不多说,直接上代码,有详细的注释原创 2020-09-11 11:44:44 · 8224 阅读 · 1 评论 -
ADC单通道采集
学习要一步一步来,学习ADC的使用要从单通道采集开始。本人就是如此。一开始淘宝一大堆的模块,主要是MQ系列,喜欢检测空气参数,刚开始就是一个通道一个通道使用。下面就直接上代码,注释清晰,不过为了练习DMA,本人在写程序的时候喜欢使用DMA通道进行数据传输,既学习了DMA的使用,也减少了CPU的资源,不会对其他的应用产生干扰。采集过后的处理程序可直接在DMA中断中调用。有需要的程序源码可以直接私信。__IO uint16_t ADC_ConvertedValue[DMA_SIZE] = {0,0,0原创 2020-09-09 16:46:59 · 1075 阅读 · 0 评论 -
STM32内部温度传感器简述
简介STM32有一个内部的温度传感器,可以用来测量CPU及周围的温度(TA)。特点:该温度传感器在内部和ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值温度传感器模拟输入推荐采样时间是17.1μsSTM32的内部温度传感器支持的温度范围为:-40~125度。精度比较差,为±1.5℃左右内部温度传感器更适合于检测温度的变化,而不是测量绝对温度。如果需要测量绝度温度,应该使用一个外部温度传感器,如DS18B20使用注意事项:第一个地方,我们要使用STM3原创 2020-09-08 16:50:25 · 2412 阅读 · 0 评论