
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
文章目录废话说在前面代码实现环形队列数据结构写一字节数据到队列判断队列是否写满读一字节的数据判断队列是否为空写多个字节到队列到STM32上测试废话说在前面码代码的应该学数据结构都学过队列。环形队列是队列的一种特殊形式,应用挺广泛的。因为有太多文章关于这方面的内容,理论知识可以看别人的,下面写得挺好的:STM32进阶之串口环形缓冲区实现代码实现环形队列数据结构typedef s...
工控机安装lubuntu系统指南手册。

microcom是一个在终端中使用的串口助手,类似平常使用SSCOM一样的东西,不过是在终端中使用而已。使用的是busybox构建的文件系统-d:表示延时时间。-t:表示超时时间,超多少时间就自动退出(单位为 ms)。-s:表示传输速度,波特率的意思,这个根据自己的情况而定。-X :从 stdin 禁用 NUL 和 Ctrl-X 的特殊含义。

使用这种方式开发适用于所有Cortex-M的芯片,不必受限于某个芯片的专用IDE,如STM32CubeIDE只能用于STM32。所用涉及的软件全为开源免费的软件。不用编写修改Makefile,构建项目容易。可以使用任意编辑器,可以是Vscode、source insight,甚至是记事本。推荐使用Vscode,Vscode内就可以打开终端执行编译,用其他编辑器可能就要另外打开powershell或
对于简单的嵌入式应用多数裸奔就能解决,但写出来的裸奔代码质量也由好坏之分。在网上看到了这样一篇文字:上面说到了裸奔环境下的多任务模型 - stateMachine + timerTick + Queue,也提到具体怎么做。伪代码实现//消息类型enum MessageType {MSG_USART1,MSG_USART3,MSG_20MS = 20,MSG_100MS = 100,};typede
从会写代码,到想要写好代码,这个过程是很难受的。由于做的嵌入式软件,主要是MCU方面,都是要跟硬件底层打交道的软件设计,接手的别人的软件给人影响最深刻的就是典型的面向过程式编程,高层模块大量依赖低层模块,特别是高层模块依赖底层硬件。缺点: 修改底层模块,将影响高层模块。在实际应用中,底层模块又是经常要被修改的。怎么解决?依赖反转,低层模块依赖高层。怎么实现依赖反转?面向对象编程中有一个很重要的概念
不精通网络以及iperf3让我不得不求助百度必应,但搜出来千篇一律都是说的防火墙问题,但嵌入式设备Linux系统没有防火墙。因为脚本里设置的WIFI的IP地址是一样,抱着试一试的心态修改了IP地址,一测试可以了。导致换了一台设备用同样的IP地址无法连接AP?用STA模式的设备去连接AP模式的设备才能产生40MH带宽。来测试没问题了,要换一台设备做STA设备。需要一台设备WIFI 设置为STA模式。

常见输入设备:按键、键盘、触摸屏、鼠标 等。典型的字符设备驱动。内核中一个通用的按键驱动:drivers/input/keyboard/gpio_keys.c基于input架构实现了一个通用的GPIO按键驱动用户空间接口/dev/input/event0/1/2/…/dev/input/mouse0/1/2/…/dev/input/sj0/1/2/……输入子系统框架—— 《linux设备驱动开发详
如下所示,点击ADC_CHANNEL_5宏定义跳转到ADC_CR1_AWDCH_Pos正确跳转应该是这样:误打误撞找到一个非常规的解决办法:删掉.vscode,Ctrl + shift + p -->C/C++ : 编辑配置(UI),重新生成.vscode,之后就可以正常跳转。后测试不重新生成.vscode也可以正常跳转。...
仿window记事本设计界面







