MCU
文章平均质量分 57
MCU开发、SOC开发,以及RTOS等案例和知识分享。没有基础,全是干货。
外来务工人员徐某
只写自己不懂的。
展开
-
【STM32】RS485 Modbus协议 采集传感器数据
一、硬件1、传感器:为液压传感器,12vDC,RS485数据输出,采用Modbus协议通信2、根据传感器属性,电路主要是两部分,通信和电源(1)485电路:由于485是半双工通信,需要控制收发,所以索性在把电路设计成自动收发电路接跳线帽W1、W2即使用RS485收发,不接就是普通串口收发。RE和DE是收发使能,选择485模式:3_TXD常高,使能接受;当发送数据时,数据的起始位(下降沿)将3_TXD引脚电平拉低,将顺便使能发送。(2)开关电路:主要是为了控制传感器开关,以降低功耗...原创 2020-06-28 16:46:00 · 20812 阅读 · 86 评论 -
【嵌入式处理器】CPU、MPU、MCU、DSP、SoC、SiP的联系与区别
我们发现,嵌入式处理器正在朝着一个高集成度的趋势发展:MPU → MCU(MPU + 外围器件)→ SoC(MCU + 系统)→SiP(多SoC)。原创 2023-01-17 23:15:00 · 5167 阅读 · 1 评论 -
【嵌入式存储器】一张图弄懂RAM、ROM、EEPROM、NOR FLASH、NAND FLASH的区别和用途
RAM、ROM、RRPROM、NOR FLASH、NAND FLASH等嵌入式存储器的用途。原创 2022-12-13 21:23:47 · 602 阅读 · 1 评论 -
【嵌入式UI框架:LVGL】使用NXP GUI Guider 拖拽式设计LVGL
LVGL的作者是来自匈牙利的Gabor Kiss-Vamosikisvegabor,LVGL用C语言编写,以实现最大的兼容性(与C ++兼容),模拟器可在没有嵌入式硬件的PC上启动嵌入式GUI设计,同时LVGL作为一个图形库,它自带着接近三十多种小工具可以供开发者使用。这些强大的构建块按钮搭配上带有非常丝滑的动画以及可以做到平滑滚动的高级图形,同时兼具着不高的配置要求以及开源属性,显著的优势使得LVGL蔚然成风,成为广大开发者在选择GUI时的第一选择。原创 2022-12-06 16:59:38 · 5767 阅读 · 3 评论 -
【嵌入式开源库:cJSON】 一个轻量级C语言JSON数据解析库用法详解
cJSON是使用C语言编写,用来创建、解析JSON文件的库。cJSON特点就是工程文件简单,只有一个.c和一个.h,但提供函数接口功能齐全,麻雀虽小五脏俱全,使得在嵌入式工程中使用起来得心应手。原创 2022-12-16 17:50:23 · 2280 阅读 · 0 评论 -
【STM32】FreeRTOS踩坑
1.在FreeRTOS内核启动前(即osKernelStart()函数前),千万不能使用osDelay()来延时,否则会发生硬件错误int main(void){ ... /* Init scheduler */ osKernelInitialize(); /* Call init function for freertos objects (in freertos.c) */ MX_FREERTOS_Init(); /* Start scheduler */ osKer原创 2021-08-12 16:01:33 · 2925 阅读 · 1 评论 -
【STM32】HAL库 移植FreeRTOS并使用
一、移植FRreeRTOS到STM32这个我用的是STM32CudeMX的FRreeRTOS组件,所谓的移植在这里仅仅是个打钩操作二、任务1、任务特性简单、没有使用限制使用抢占优先级每个任务都拥有堆栈导致RAM使用量很大要...原创 2020-06-19 22:39:01 · 7065 阅读 · 4 评论 -
【STM32】RT-Thread使用FINSH
1.打开STM32串口(1)打开Cube配置一个用于打印的串口,这里使用串口4(2)打开串口4的宏可以看到下面用到这个宏的是drv_usart.c,只有打开对应外设的宏,外设驱动才运行2.打开FINSH组件3.将UART4关联到FINSH控制台打开rtconfig.h,配置宏 RT_CONSOLE_DEVICE_NAME为“uart4”,4.串口映射函数编写我们知道串口映射到控制台都是通过改写printf函数,rt-thraed也这样做了,就是这个所谓的rt_kprintf()其原创 2021-07-05 16:56:18 · 2182 阅读 · 3 评论 -
【STM32】printf函数重定向至UART 打印设备状态LOG
这样做的好处:可以很好的监控设备,以适当取代麻烦的debug; 用printf()函数代替串口发送,更易用很简单,分两步1.选择支持printf重定向的库(1)在Target中选择Use MicroLIB(2)或者在usart.c中添加#pragma import(__use_no_semihosting) //标准库需要的支持函数 struct __FILE { int handle; }; FILE __stdou.原创 2020-08-26 10:36:43 · 1724 阅读 · 0 评论 -
【Arduino】IIC 1602液晶屏显示
今天从办公室垃圾堆里发现了6块1602液晶屏,准备试试好坏,结果就1块能用,把另外5块默默送回了垃圾堆1、硬件连线IIC只需要四根线:VCC5V、GND、SCL、SDA2、Arduino库添加(1)工具->管理库->搜索LiquidCrystal_I2C->安装(2)加载贡献库3、代码#include <Wire.h> #include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,16.原创 2020-08-06 18:43:17 · 4972 阅读 · 2 评论