网站开发移动端多少钱,wordpress时间几天前,做电商一般注册什么公司,动漫设计专业学什么点上方蓝字关注我们每天都有好玩的东西等着你本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设驱动0.96OLED屏幕。1. 准备工作硬件准备开发板首先需要准备一个开发板#xff0c;这里我准备的是STM32L4的开发板(BearPi)#xff1a;OLED屏幕这里我使用的是0… 点上方蓝字关注我们每天都有好玩的东西等着你本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设驱动0.96OLED屏幕。1. 准备工作硬件准备开发板首先需要准备一个开发板这里我准备的是STM32L4的开发板(BearPi)OLED屏幕这里我使用的是0.96的OLED屏幕使用IIC接口通信驱动芯片为SD1306OLED屏幕软件准备需要安装好Keil - MDK及芯片对应的包以便编译和下载生成的代码Keil MDK和串口助手Serial Port Utility 的安装包都可以在文末关注公众号获取回复关键字获取相应的安装包2.生成MDK工程选择芯片型号打开STM32CubeMX打开MCU选择器搜索并选中芯片STM32L431RCT6:配置时钟源如果选择使用外部高速时钟(HSE)则需要在System Core中配置RCC如果使用默认内部时钟(HSI)这一步可以略过这里我都使用外部时钟配置串口小熊派开发板板载ST-Link并且虚拟了一个串口原理图如下这里我将开关拨到AT-MCU模式使PC的串口与USART1之间连接。接下来开始配置USART1配置硬件I2C在本实验中我们将OLED接在小熊派开发板左边的E53扩展板接口上与 I2C1 接口相连。接下来开始配置I2C接口1配置时钟树STM32L4的最高主频到80M所以配置PLL最后使HCLK 80Mhz即可生成工程设置代码生成设置最后设置生成独立的初始化文件生成代码点击GENERATE CODE即可生成MDK-V5工程3. 在MDK中编写、编译、下载用户代码重定向printf()函数参考STM32CubeMX-09 | 重定向printf函数到串口输出的多种方法OLED屏幕驱动程序OLED屏幕驱动我已移植好包含的文件较多代码就不放在文中了我已上传到Githubhttps://github.com/Mculover666/HAL_Driver_Liboledfont.hOLED ASCII英文字符字库文件和中文字库文件bmp.h图片库文件oled.hOELD功能函数声明oled.cOLED功能函数实现4. 测试驱动程序将驱动程序添加到你的工程中后在main.c中测试驱动程序是否正常首先在main.c 开头包含头文件/* USER CODE BEGIN Includes */#include #include oled.h#include bmp.h/* USER CODE END Includes */然后在main函数中编写测试程序nt main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_I2C1_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ printf(OLED 0.96 TEST...\r\n); OLED_Init(); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ OLED_Clear(); OLED_ShowChar(0, 0, A, 16); OLED_ShowChar(0, 2, B, 16); OLED_ShowChar(0, 4, C, 16); OLED_ShowChar(0, 6, D, 16); OLED_ShowChar(15, 0, A, 12); OLED_ShowChar(15, 1, B, 12); OLED_ShowChar(15, 2, C, 12); OLED_ShowChar(15, 3, D, 12); OLED_ShowChar(15, 4, E, 12); OLED_ShowChar(15, 5, F, 12); OLED_ShowChar(15, 6, G, 12); OLED_ShowChar(15, 7, H, 12); OLED_ShowString(30, 0, mculover666, 12); OLED_ShowCHinese(35, 2, 0); OLED_ShowCHinese(65, 2, 1); OLED_ShowCHinese(95, 2, 2); OLED_ShowString(36, 6, IoT Board, 16); HAL_Delay(5000); OLED_DrawBMP(0, 0, 128, 8,BMP1); HAL_Delay(5000); } /* USER CODE END 3 */}编译下载运行测试结果如下OLED字符显示测试OLED图片显示测试精选教程 | 精选文章(点击图片即可跳转)更多精彩文章及资源欢迎关注我的微信公众号『mculover666』。