STM32
文章平均质量分 55
#小多子
这个作者很懒,什么都没留下…
展开
-
【STM32】esp8266通过MQTT连接服务器|订阅发布
该协议为应用层协议,传输层使用的是tcp,MQTT的订阅和发布,就相当于在抖音中你关注了某个领域的博主(订阅),如果有其他人发了作品就会推给你(发布),默认已经安装好了简单演示订阅mosquitto_sub 订阅指令-h 主机ip-p 端口号1883-t 主题发布mosquitto_pub 发布指令。原创 2024-09-15 10:21:40 · 674 阅读 · 0 评论 -
【STM32】esp8266连接wifi
使用串口二接收esp8266的数据,单片机接收,使用串口1将数据发送给串口助手串口2波特率设置74880,串口1设置115200在初始化的时候需要将复位引脚拉低20ms,然后再拉高20ms,设置GPIOB的输出模式对PB12做输出处理。原创 2024-09-13 13:22:55 · 1046 阅读 · 0 评论 -
【STM32】BH1750光敏传感
BH1750是一个光敏传感,采用I2C协议,对于I2C的从机,都有自己的地址,用来主机选择和哪个从机通信,对于OLED来说,只有单片机通过I2C往OLED中写数据。而BH1750来说,有单片机往BH1750写指令也需要单片机读取测量的数据,还需要处理数据.而从机的地址是可选的根据原理图可知addr引脚悬空,则是低电平,所以就是addr为‘L’.原创 2024-09-11 22:48:00 · 914 阅读 · 0 评论 -
【STM32】OLED
OLED使用的是I2C协议,使用ssd1306芯片对所有灯进行控制,如果一个灯需要一个引脚的话,屏幕分为8页,每页有128列,8行 .共有128* 88个灯这样引脚是算不过来的,所以我们使用了ssd1306芯片,在上个博客我们用到的每个从机都有自己的地址同时要控制这么多的灯,也不能只给数据,比方说我们要对其显示进行重置,亮度改变,光标位置 ,如果是指令的话,就把对应指令数据写入寄存器0x00, ,如果是数据的话,就写入0x40寄存器。原创 2024-09-11 16:50:06 · 713 阅读 · 0 评论 -
【STM32】呼吸灯实现
对应pwm概念可以去看我的博客51实现的呼吸灯根据对应图我们可知预分频系数为999,重装载值为2000,因为设置内部时钟晶振频率为100MHZ,1s跳 100 000000次 ,跳一次需要1/100 000000s 20ms=0.02s 对应跳的次数为我们使用通用定时器最大计数为65536,所以我们必须采用预分频,设置预分频值为1000,一跳为1/100000 s所以重装载值为2000。原创 2024-09-08 19:38:34 · 702 阅读 · 0 评论 -
【STM32】串口
使用printf函数向串口发送东西使用微库,用到了printf,但是我们发现是不能发送的因为底层printf是fputc,我们需要自己实现后面FILE*P不用管,在fputc中调用第一个参数为uart1的句柄第二个为要输出的字符第三个为一次要发送几个字节第四个为采用轮询,一直死等,就绪1s发送一次。原创 2024-09-08 16:29:33 · 551 阅读 · 0 评论 -
【STM32】定时器
定时器实现也是依靠中断实现定时器分为嘀嗒定时器:在STM32操作系统中可以用到基本定时器:TIM6 TIM7 (定时)通用定时器:TIM2-TIM5 (测量PWM)高级定时器:TIM1 TIM8 (电机,数字电源)定时器本质就是计数器我们在stmcubemx里面设置最大频率为100MHZ假如说我们要定时500ms,500ms进行一次中断,执行中断执行函数这个我们使用通用定时器,TIM2最大计数为65536。原创 2024-09-07 13:03:59 · 497 阅读 · 0 评论 -
【STM32】外部中断
当程序正常运行执行main函数,此时如果外部中断来了,执行外部中断函数,实现相应的功能,然后就可以回到main.一般stm32芯片每个引脚都有自己的外部中断,但是为了限制,会有一个中断线,对应一个中断线执行一个外部中断函数PA0,PB0,PC0为中断线0PA1,PB1,PC1为中断线1我们实现PA7,按键1按下触发中断,然后使LED1(PB10)翻转配置stmcubemx和上一篇一样。原创 2024-09-06 21:36:45 · 1393 阅读 · 0 评论 -
【STM32】GPIO输入实现按键控制LED
和上篇博客配置一样。原创 2024-09-06 08:40:52 · 451 阅读 · 0 评论 -
【STM32】cubemx配置GPIO
直接使用STM32CubeMX点灯。close后直接打开keil。对四个灯设置GPIO输出。原创 2024-09-05 15:33:37 · 392 阅读 · 0 评论 -
【STM32】GPIO翻转操作实现流水灯
实现四个灯的流转,一个灯亮500ms,然后灭500ms,四个灯都一样。原创 2024-09-05 20:49:16 · 946 阅读 · 0 评论 -
【STM32】cubemx创建工程|hal库点灯
2.选择型号3.开始工程4.时钟设置外部时钟不用设置,只需要设置内部震荡rc晶振这里两个都是外部晶振设置内部晶振设置串行调试接口工程起名形成代码keil打开工程。原创 2024-09-04 23:36:31 · 405 阅读 · 0 评论 -
【STM32】寄存器点灯
假如说我要让LED1亮。GPIOB端口时钟连接的是PB的15位,LED1是PB10,所以我们要让GPIOB使能根据手册,我们知道只需将对应位置1即可。对应的寄存器名叫做AHB1LPENR,RCC是一个指针,指向的AHB1LPENR的值=0x0000 0002;原创 2024-09-04 18:33:35 · 553 阅读 · 0 评论