- 博客(11)
- 收藏
- 关注
原创 重映射的事
关于重映射,刚开始学的我云里雾里啊。先直接来一个中文手册的重映射图进行解释。定时器3的映射引脚,首先默认的硬件连接是PA6,PA7,PB0,PB1。当你需要使用定时器3的通道1,这时PA6被其他东西给占用了,官方为了方便使用者,将定时器3通道1的功能映像在PB4引脚上,可供使用者使用,这时就需要部分映像了,强调要打开AFIO时钟,否则一切操作无效。再进一步,当你使用重映像后的PB4作为定时器3的通道1了,你还需要使用定时器3的通道2,这时候怎么选择呢,一般人是去配置PA7,那就打错特错了,部分映射
2020-09-24 17:36:13
1442
原创 按键长短按(软件消抖)
强迫自己不适用延时,是一个优秀的开始。需要源代码的可加本人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
431
原创 呼吸灯(定时器实现)
用延时做呼吸灯是无能的表演,真正的大手子是不允许自己的代码中出现可消除的延时。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
3313
原创 ADC多通道采集
接上一篇的ADC单通道采集,本篇主要讲解关于ADC多通道采集,同样考虑减少CPU资源的占用,使用DMA通道传输。大家可能感觉DMA有点难理解,刚开始学就使用DMA通道很费劲,但是用我的经验来说,DMA是学习32单片机必不可少的一步,在以后的工作项目开发中,需要考虑软件代码的可使用性,不能再想学校里的简单项目能跑通就行,工作中的要求是要稳定,程序如果不稳定可能用一段时间就会出现未知的BUG。因此,建议新的玩家开发时直接使用DMA,不管事ADC,还是USART等等都可以使用。不多说,直接上代码,有详细的注释
2020-09-11 11:44:44
8282
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
1098
原创 STM32内部温度传感器简述
简介STM32有一个内部的温度传感器,可以用来测量CPU及周围的温度(TA)。特点:该温度传感器在内部和ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值温度传感器模拟输入推荐采样时间是17.1μsSTM32的内部温度传感器支持的温度范围为:-40~125度。精度比较差,为±1.5℃左右内部温度传感器更适合于检测温度的变化,而不是测量绝对温度。如果需要测量绝度温度,应该使用一个外部温度传感器,如DS18B20使用注意事项:第一个地方,我们要使用STM3
2020-09-08 16:50:25
2449
原创 存储芯片24C02的总结
24c02简介24C02是一个2Kbit的串行EEPROM存储芯片,可存储256个字节数据。工作电压范围为1.8V到6.0V,具有低功耗CMOS技术,自定时擦写周期,1000000次编程/擦除周期,可保存数据100年。24C02有一个16字节的页写缓冲器和一个写保护功能。通过I2C总线通讯读写芯片数据,通讯时钟频率可达400KHz。可以通过存储IC的型号来计算芯片的存储容量是多大,比如24C02后面的02表示的是可存储2Kbit的数据,转换为字节的存储量为21024/8 = 256byte;有比如24C
2020-08-23 15:34:46
63743
10
原创 定时器互补通道PWM输出
简介:本文介绍STM32系列如何使用timer1的第TIM1_CH1N/TIM1_CH1通道(PE8/PE9)产生PWM。1、PWM是什么1、概念脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。2、占空比详解pwm占空比就是一个脉冲周期内高电平的所整个周期占的比例。1秒高电平1秒低电平的PWM波占空比是50%。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个
2020-08-20 10:59:00
12843
2
原创 DWIN OS开发
接上篇继续开发迪文屏本次的工程使用的是rs232的电平,综合考虑使用DWIN OS进行开发首先先认识一下DWIN OS。基于DGUS的DWIN OS平台,用户最大的代码空间是256kb(32764行)。DWIN OS程序在每个运行周期(80/120/160/200ms)都运行一次,DGUS+OS的运行时间构成整个运行周期,要求OS程序中不能出现长的延时循环等待或死循环。DWIN OS的常见应用是解析用户的数据协议,数据处理,能代替工控机或HMI,不仅降低成本,同时极大地提高了可靠性。编写OS时的
2020-08-01 18:08:45
1780
原创 32单片机与迪文屏通信的开发学习
本章主要说一下,一个初学者学习迪文屏的经历。适用于略懂、接触过modbus的人。有一说一,这个迪文屏上位机的软件开发确实简单,比我之前使用的eWin方便了不少。不过迪文屏使用的是RS232接口,它比TFT-LCD驱动起来可能要麻烦一些,对于初学者来说,SPI可能用的还不错,但是MODBUS协议可以说是一个分水岭。能不能用好迪文屏的关键就在于对modbus协议的理解。迪文屏的接口协议是串口,所以说只需要使用单片机的串口外设即可。rs232的简介就不多说了,既然要驱动迪文屏,首先就要选择合适的数据协议,
2020-07-31 17:40:03
5765
1
原创 串口数据使用DMA通道传输
第一次写 希望各位博友指正本次使用的是STM32F1的主控芯片,资料可在ST官网下载DMA使用的目的:不用DMA发送是需要单片机实时参du与,由单片机一个一个地发送数据并进执行监控。但是如果用DMA,设置了起始地址,数据大小等参数后,就直接由专门的一个DMA模块进行数据发送,发送过程中单片机无需参与。发送完后会产生中断告知单片机。由此可知用DMA可以节省单片机资源,让单片可以在同一时间里干更多事。本次为了减少CPU的占用,在配置串口的时候使用DMA进行数据的收发。不多说 直接上干货!!!本次使用的
2020-07-29 12:04:58
3115
空空如也
g474 ccram cubeide
2024-03-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人