草庐IT

STM32(HAL库)驱动OLED

简介通过STM32F103C8T6单片机采用HAL库方式对0.96寸OLED(IIC通讯)屏幕进行驱动。之前GY906驱动通过软件IIC进行驱动,因此本次通过硬件IIC进行驱动。2.1Cubemax初始化配置首先进行初始化配置,点击进行跳转。接着对IIC初始化进行配置,配置图如下所示:接着生成代码进行程序的书写。2.2keil端程序书写1、添加HC-SR04库文件在生成的文件夹中建议新文件夹icode如下所示。接着在新文件夹中复制oled库文件如下所示。库文件文件链接如下所示。链接:https://pan.baidu.com/s/1N31uzTTD9nklH2ekpiFnvA提取码:wxve接

stm32 FOC从零学习开发(一)FOC概念

系列文章目录`一、stm32FOC从零学习开发(一)FOC概念二、stm32FOC从学习开发(二)Clark变换与MATLAB仿真三、stm32FOC从学习开发(三)park变换与MATLAB仿真四、stm32FOC从学习开发(四)svpwm算法(1)五、stm32FOC从学习开发(五)svpwm算法(2)六、stm32FOC从学习开发(六)基于均值零序分量注入的载波SVPWM算法七、stm32FOC从学习开发(七)svpwm算法MATLAB仿真八、stm32FOC从学习开发(八)PID基础MATLAB仿真九、stm32FOC从学习开发(九)FOCMATLAB仿真文章目录系列文章目录前言FOC

STM32---stm32f103c8t6与stm32f103zet6之间的代码移植转换

目录一、将c8t6转换为zet61、修改启动文件2、修改芯片3、将MD修改为HD 4、下载器的修改5、修改完成,编译成功 二、将zet6转换为c8t6一、将c8t6转换为zet61、修改启动文件最终结果如下: 2、修改芯片 将STM32F103C8改为STM32F103ZE3、将MD修改为HD  4、下载器的修改5、修改完成,编译成功 二、将zet6转换为c8t6基本相同,反向即可。  

【Mac+CLion+STM32+ST-Link】Mac(apple sillicon)上使用STM32CubeMX和CLion搭建嵌入式开发环境

软件安装Clion官网安装或者brew安装,我用的是2023.2版本。stlinkserverhttps://www.st.com/en/development-tools/st-link-server.html不安装的话检测不到stlink。STM32CubeMXhttps://www.st.com/en/development-tools/stm32cubeide.html#overview&secondary=st-get-software用来快速搭建一个工程。环境搭建Arm-toolchain用来编译和debug的组件。brewinstall--caskgcc-arm-embedded

单片机:STM32F4x HAL库软硬SPI驱动ST7735s 1.8寸LCD屏幕

单片机:STM32F4xHAL库软硬SPI驱动ST7735s1.8寸LCD屏幕说明:此篇为学习记录。可能存在错误或者不足。如有问题请指出。硬件环境主控芯片:STM32F411CEU6主控开发板:WeActSTM32F411CEU6最小系统板TFT-LCD屏幕:合宙1.8寸TFT-LCD,驱动为ST7735s软件环境MDK版本:5,32HAL库版本:1.27.1STM32CubeMX版本:6.7.0从手册了解一些必要信息ST7735s支持8080并口,3线和4线串行接口,模块的驱动方式是4线串行驱动方式也就是四线类SPI通信方式。手册内容很多,这里简单记录必要的信息。读写模式以及时序1、四线通信

基于stm32f103c8t6与jdy23蓝牙模块实现手机app点亮灯

  蓝牙模块:jdy231.介绍:JDY-23透传模块是基于蓝牙5.0协议标准,工作频段为2.4GHZ范围,调制方式为GFSK,最大发射功率为4db,最大发射距离60米,采用进口原装芯片设计,支持用户通过AT命令修改设备名、波特率等指令,方便快捷使用灵活。JDY-23蓝牙模块可以实现模块与手机数据传输,默认无需配置即可快速使用BLE蓝牙进行产品应用。2.硬件电路:如透传不需要低功耗或在连接状态下不需要发断开指令,PWRC引脚可以不接。如不需要低功耗,不需要检测连接状态的话,只需要连接VCC、GND、RXD、TXD4个引脚3.AT指令的使用:1.首先蓝牙模块直接和转串口模块链接rx==》txtx

关于STM32F4系列中printf重定向问题详解

前言关于printf函数和fputc函数联系和区别联系:1.共同目标:printf函数和fputc函数都用于将字符输出到指定的输出流中。2.字符输出:两个函数都可以用于输出一个字符,但在实际使用时,printf函数通常用于输出格式化的数据,而fputc函数更常用于单个字符的直接输出。区别:1.功能差异:printf函数提供了更高级别的功能,可进行格式化输出、数值转换、对齐等操作。而fputc函数仅仅将单个字符写入到指定的输出流中。2.参数类型:printf函数接受格式化字符串和可变参数列表作为参数,因此可以输出多个不同类型的数据。而fputc函数接受一个字符和指向输出流的指针作为参数。3.使用

STM32单片机实现modbus通讯协议

 0.内容简介软件:Keiluvision5单片机:STM32F103C8T6调试:XCOMV2.6、Modbus调试精灵串口通信:波特率:9600  数据位:8 校验位:无停止位:1modbus:RTU模式下03功能码、06功能码实现附件:STM32单片机实现modbus通讯协议-单片机文档类资源-CSDN下载1.modbus通讯协议(1)modbus通讯协议是由Modicon公司在1979年开发的,应用于工业现场控制的总线协议。(2)modbus协议采用主从模式,由一个主机对多个从机进行通信,最多支持247个从机。(3)modbus数据传输模式:ASCII和RTU两种模式。        

【学习记录】STM32中断进阶任务:按键控制指示灯闪烁频率

采用德飞莱STM32板,主控芯片STM32F103ZET6。任务内容:利用按键B1控制指示灯LD2的闪烁频率,闪烁频率设置为3档:初始状态时,LD2按照2Hz的频率闪烁;第一次按键后,LD2按照10Hz的频率闪烁;第二次按键后,LD2按照20Hz的频率闪烁。再次按键后让LD2恢复以2Hz的频率闪烁,并重复上述过程。按键的检测采用中断方式。硬件原理:按键B1由引脚PC13控制:按键按下时为下降沿触发方式,释放时为上升沿触发方式。指示灯LD2由引脚PA5控制;PA5输出高电平,开启指示灯;PA5输出低电平,关闭指示灯。任务实现1.设计思路采用前后台编程模式:定义一个全局变量BlinkSpeed,初