嵌入式学习
文章平均质量分 62
学习嵌入式
Andy.w
目前岗位嵌入式软件开发工程师。
展开
-
单片机引入BootLoader目的
单片机引入BootLoader目的原创 2022-08-26 16:33:42 · 357 阅读 · 0 评论 -
移植EasyLogger
EasyLogger 是一款超轻量级、高性能的C日志库,非常适合对资源敏感的软件项目,例如:IoT产品、可穿戴设备、智能家居等等。相比log4c、zlog这些知名的C日志库,EasyLogger的功能更加简单,提供给用户的接口更少,但上手会很快,更多实用功能支持以插件形式进行动态扩展。...原创 2022-08-17 11:50:14 · 810 阅读 · 0 评论 -
C语言--环形缓存区
环形缓冲区最重要的一个特点是写的速度和读的速度匹配性问题,环形缓冲区一般是将数据先写入缓冲区内,然后有个写的指针位置,但是不能超过读的位置,因为数据还未被读取,便写入数据,就会造成数据还未被读取便被新的数据覆盖,造成数据的丢失。读数据同样原理,读的指针不能超过写的位置,这样就会读到之前读过的数据,造成数据的重复。空间如果设置的太大,会造成内存的浪费,有内存一直处于空闲状态,如果空间设置到的太小,可能会造成读的速度快于写的速度,导致读的过程中会有短暂的等待时间,造成效率不是最高。2、写入数据>缓冲区。....原创 2022-08-03 09:16:27 · 3673 阅读 · 0 评论 -
ROM, FLASH和RAM的区别
ROM (Read Only Memory)程序存储器ROM全称Read Only Memory,顾名思义,它是一种只能读出事先所存的数据的固态半导体存储器。ROM中所存数据稳定,一旦存储数据就再也无法将之改变或者删除,断电后所存数据也不会消失。其结构简单,因而常用于存储各种固化程序和数据。在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、‘const’限定符定义的常量数据、startup.asm文件中的代码(类似ARM中的bootloader或者X86中的B原创 2022-06-10 22:36:33 · 3133 阅读 · 0 评论 -
测试MQTT协议连接「然也」服务器
测试需求:1.连接然也物联网(MQTT)平台2.给 text/iot/01 主题 发送字符串数据“2022”3.通过 MQTT.fx 软件订阅上述主题,进而得到数据“2022”测试准备: 电脑的应用软件 MQTT.fx 软件模拟 连接过程中还需要借助一款超级好用的Mqtt客户端软件: MQTT协议的MQTT.FX软件包-C文档类资源-CSDN下载 安装之后打开点击设置新增一个客户端名称,填写然也服务器的IP地址和端口号,客户端ID要求唯一性,可以点击Generate自动生成。配置完成后点击OK即可。原创 2022-06-07 23:44:50 · 3663 阅读 · 7 评论 -
刚拿到esp32-cam想测试该怎么办?看这篇文章就可以了
无意间对esp32-cam感兴趣,就去某pdd买了一个模块玩玩。组装摄像头的时候不要硬插进去,有个活动卡槽可以扣开,如下图。 接下来去arduino官网或者中文社区下载:arduino官网:https://www.arduino.cc/en/software选择你需要的版本即可(我系统是WIN10选择的Windows win 7 and newer)。 解压之后打开arduino,接下来对arduino进行配置,第一次打开的界面如下。 1、点击文件-->首选项,在附加开发板管理器网站添加网址:https:/原创 2022-04-30 00:46:29 · 3864 阅读 · 5 评论 -
基于RS485通信的Modbus通信协议
通信可以分为两个方面:硬件层:RS485解决的是数据传输问题,也就是说如何将一个“0”或“1”传输到另外一端。(保证了数据可以转移到另一端)软件层:modbus是在硬件基础上的传输协议,解决的是数据传输的含义或意义。MCU要想实现RS485通信,必须借助电平转换芯片。 因为MCU是TTL电平信号,RS485是差分信号,如何将单端信号转换成差分信号就需要电平转换芯片。TTL电平在传输信号特性逻辑“0”对应的电气信号为0V,逻辑“1”对应的电气信号为5V。RS485通常有两根差分信号线,A和B,RS485的电平原创 2022-06-05 00:30:31 · 6598 阅读 · 0 评论 -
关于Keil出现Browse Information of one or more files is not avaliable
出现问题如下:打开提醒错误的文件,将内容全部注释,编译,再取消注释,再编译就不会有警告了。原创 2022-05-12 16:46:48 · 729 阅读 · 4 评论 -
Emwin常用API函数
目录1.文本 API2.图形 API3.字体 API4.颜色 API1.文本 API下表按字母顺序列出了相应类别中与文本相关的可用例程。函数 描述 显示文本 GUI_DispCEOL() 将当前行从当前位置清除到行末。 GUI_DispChar() 在当前位置显示单个字符。 GUI_DispCharAt() 在指定位置显示单个字符。 GUI_DispChars() 按指定次数显示字符。 GUI_DispString()...原创 2022-05-11 13:13:14 · 825 阅读 · 0 评论 -
Windows上Emwin的使用
Windows上Emwin的使用开发环境:1.安装Visual Studio 20192.下载模拟器SEGGER - The Embedded Experts - Downloads - emWin使用VS2019打开模拟器3.打开之后在工程中,右键修改属性(打开项目如果界面空白点击视图选中解决方案资源管理器即可) Make sure the selected Windows SDK is installed: Properties -&...原创 2022-05-11 11:34:32 · 380 阅读 · 0 评论 -
SPI和I2C的对比
I2C是半双工,SPI是全双工。 I2C支持多主多从模式,而SPI只能有一个主机。 从GPIO占用上来看,I2C占用更少的GPIO,更节省资源。 I2C有应答响应机制,数据可靠性更高,SPI没有应答机制。 I2C速率不会太高,最高速率3.4Mbps,SPI可以达到很高的速率。 I2C通过器件地址来选择从机,从机数量的增加不会导致GPIO的增加,而SPI通过CS选择从机,每增加一个从机就要多占用一个GPIO。 SPI协议在SCLK边沿进行...原创 2022-05-07 23:39:13 · 6198 阅读 · 1 评论 -
STM32中单工、半双工、全双工、异步和同步的区别
目录单工半双工全双工同步和异步的区别单工单工,即数据传输只在一个方向上传输,只能你给我发送或者我给你发送,方向是固定的,不能实现双向通信,比如室外天线电视、调频广播等。半双工半双工传输方向可以切换,允许数据在两个方向上传输,但是同一时刻只允许数据在一个方向上传输。可以基本双向通信,比如对讲机、IIC通信等。全双工全双工同一时刻允许数据在两个方向传输。发送和接收完全独立,在发送的同时可以接收信号,或者在...原创 2022-05-07 23:31:19 · 1793 阅读 · 0 评论 -
STM32中三种定时器的分类和功能
基本定时器:TIM1、TIM8(总线APB1)拥有定时中断、主模式触发DAC的功能通用定时器:TIM6、TIM7(总线APB1)拥有基本定时器全部功能,并额外具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能高级定时器:TIM2、TIM3、TIM4、TIM5(总线APB2)拥有通用定时器全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能...原创 2022-05-07 22:30:10 · 4747 阅读 · 2 评论 -
STM32CubeMX环境搭建
STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的时间,大大的节省了时间。安装CubeMx一共需要三个...原创 2022-05-07 22:11:11 · 896 阅读 · 0 评论