单片机
文章平均质量分 89
单片机常见问题
指针到处飞
努力成为抽象派
展开
-
认识GCC
GNU是Linux系统下的一些工具包,GNU是GNU is Not Unix的缩写,因为当年Unix收费后,理查德·马修·斯托曼打算做一套GNU操作系统,当时GNU的工具包已经写好,就差内核即可组装成一个完整的操作系统,正好Linus写了一个内核,所以两者合并发布了GNU/Linux,后来传着传着就省略了名字前面的一部分,成为Linux。gcc是一个交叉平台编译器,比如交叉编译器gcc-arm 适合在嵌入式领域的开发编译。我的理解:GNU就是Linux系统中的一些工具包。使用wc命令查看两个文件的大小。原创 2023-06-30 20:19:41 · 476 阅读 · 0 评论 -
嵌入式TCP/IP协议栈-LwIP
LWIP是一个轻量级的TCP/IP协议栈,其全称为Lightweight IP,它专门为小型嵌入式系统设计,具有占用资源少、易于移植、可裁剪性高等特点。LWIP的设计目的是为嵌入式设备提供一个高效的TCP/IP协议栈,以便这些设备可以方便地访问Internet或局域网。它支持IPv4和IPv6协议,并实现了TCP、UDP、IP、ICMP、ARP、DNS等协议,可以满足各种嵌入式设备的网络通信需求。LWIP的源代码开放,可以在开源协议下自由使用和修改。它已经被广泛应用于各种嵌入式系统,如ARM、AVR原创 2023-05-09 23:09:24 · 4204 阅读 · 0 评论 -
Vscode搭建ESP-IDF开发环境指南-Ubuntu ESP32-C3 合宙
本打算用WSL来开发,但是遇到了WSL2无法直接使用Windows的USB串口的问题,微软本身也提供了解决方案,但最重要的是合宙的这个板子用了ch343这款串口芯片,在wsl上无法安装驱动,所以只能用虚拟机或者直接安装ubuntu双系统的方案了。开发板使用的是合宙的ESP32-C3经典版,因为合宙本身推荐使用合宙推出的LuatOS开发环境,所以没有ESP-IDF相关的教程,只能参考乐鑫官方的ESP-IDF教程。最下面的一栏里有构建,烧录,以及串口监视按钮,还有一键编译烧录,非常方便。原创 2023-05-02 13:33:29 · 2811 阅读 · 2 评论 -
GPIO_Strapping管脚
在芯片的系统复位(上电复位、RTC 看门狗复位、欠压复位、模拟超级看门狗 (analog super watchdog) 复位、晶振时钟毛刺检测复位)过程中,Strapping 管脚对自己管脚上的电平采样并存储到锁存器中,锁存值为“0”或“1”,并一直保持到芯片掉电或关闭。Strapping 管脚通常由芯片或器件的制造商在数据手册中进行说明。我的理解是在ESP32中,当系统复位时,Strapping引脚会保存复位时刻的电平值到寄存器中,然后根据这几个管脚的电平组合选择不同的启动模式。原创 2023-04-28 21:30:18 · 6803 阅读 · 0 评论 -
【致敬未来的攻城狮计划】认识RA2E1
开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯(http://yyds.recan-li.cn)和 瑞萨MCU (瑞萨电子 (Renesas Electronics Corporation) ) 联合发起的「 致敬未来的攻城狮计划 」的第 1 天,点击查看活动计划详情 (https://bbs.csdn.net/topics/613916237)!原创 2023-04-17 22:49:47 · 257 阅读 · 0 评论 -
【致敬未来的攻城狮计划】RA2E1环境搭建&点亮发光二极管
开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家和 瑞萨MCU (瑞萨电子 (Renesas Electronics Corporation) ) 联合发起的「 致敬未来的攻城狮计划 」的第 2 天,!原创 2023-04-17 22:46:54 · 802 阅读 · 0 评论 -
STM32F407移植LVGL基于RT-Thread和无操作系统版本
LVGL移植前言:本次LVGL移植分为有操作系统和无操作系统两种方式。操作系统使用的是硬件使用野火STM32F407霸天虎开发板,屏幕使用nt35510显示IC,触摸使用gt917s芯片。原创 2023-04-15 00:23:38 · 3827 阅读 · 1 评论 -
STM32UART三种收发模式基于HAL库
解决办法:可以通过判断空闲中断标志位来确定数据是否收发完毕,进入空闲中断处理数据。发送完成中断与接收完成中断是收发指定数量的字节后进入中断,不能收发随机字节数据。当发送一半或者发送完成可以使用中断回调函数处理中断事件。当接收一半或者接收完毕可以使用中断回调函数处理中断事件。DMA与中断的使用方式相同。发送一个字符进入一次中断。UART中断发送模式。UART中断接收模式。原创 2023-03-17 11:30:11 · 795 阅读 · 0 评论 -
VSCode+gcc开发STM32教程
最近在使用Keil开发STM32的时候总感觉代码写起来很很费劲,然后打算用vscode试试,刚开始用的是KeilAssitance这个插件,本质还是使用Keil进行配置,vscode写代码,体验了一下感觉还是不方便。后来想到了Linux,毕竟在写代码这方面,Linux的体验还是非常棒的。原创 2023-03-05 20:49:23 · 4627 阅读 · 6 评论 -
STM32学习笔记-SPI
通过写 SPI 的“本成员设置 SPI 的通讯方向,可设置为双线全双工 (SPI_Direction_2Lines_FullDuplex),双线只接(SPI_Direction_2Lines_RxOnly),单线只接收 (SPI_Direction_1Line_Rx)、单线只发送模式(SPI_Direction_1Line_Tx)。这是 SPI 的 CRC 校验中的多项式,若我们使用 CRC 校验时,就使用这个成员的参数 (多项式),来计算 CRC 的值。CHPA:时钟相位,CHPA=0,奇数边沿采样。原创 2023-03-01 18:21:24 · 1170 阅读 · 0 评论 -
RT-Thread内核学习笔记
在裸机系统中所有代码都运行在一个main函数中,只能按照顺序运行程序,当遇到中断时才会打断当前程序,用以提高系统的实时性。如果遇到软件延时等情况,CPU只能在那空转,大大浪费了CPU的性能。而多线程是多个独立且无法返回的函数,就好比有多个裸机系统的main函数同时运行。如果把裸机系统比做单车道,那么多线程就是多车道。原创 2023-03-01 13:34:13 · 497 阅读 · 0 评论 -
C语言查漏补缺(进阶)volatile、__attribute__、void*、地址对齐、$$Super$main
最近在学习RT-Thread,在看其源码的时候发现了许多自己不太了解的C语言知识点,在此查漏补缺一下。原创 2023-03-01 13:33:01 · 1625 阅读 · 1 评论 -
STM32学习笔记-DMA
**DMA(Direct Memory Access, 直接存储区访问)**,用于**外设与存储器**之间、**存储器与存储器**之间的高速数据传输。其最主要的特点是**不占用CPU资源**。当我们需要将一个外设的数据转存到存储器中时,我们可以通过CPU读取外设数据并向存储器发送。当程序越来越庞大,功能越来越多的时候,这样直接使用CPU传输数据的方式就不太合适了。原创 2023-03-01 13:17:05 · 3695 阅读 · 0 评论 -
STM32学习笔记-USART串口通信+与野火STM32F407板载ESP8266进行通信
USART全称,即同步异步收发器。与学习51时的UART不同的是UART名称中少了个S,即没有同步收发功能。原创 2023-02-28 11:04:42 · 4988 阅读 · 7 评论 -
STM32学习笔记-I2C通信协议
两根通信线SCL(时钟线)、SDA(数据线)同步半双工,支持总线挂载多设备。原创 2023-02-26 19:52:04 · 5242 阅读 · 1 评论 -
STM32学习-NVIC、EXTI、SysTick
形参 ticks 用来设置重装载寄存器的值,最大不能超过重装载寄存器的值 2 24,当重装载寄存器的值递减到 0 的时候产生中断,然后重装载寄存器的值又重新装载往下递减计数,以此循环往复。计芯片的时候会对 Cortex-M4 内核里面的 NVIC 进行裁剪,把不需要的部分去掉,所以说 STM32的 NVIC 是 Cortex-M4 的 NVIC 的一个子集。NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。4是与门,当中断屏蔽寄存器为0时可以屏蔽中断。原创 2023-02-23 14:34:48 · 1093 阅读 · 0 评论 -
ESP8266小车总结
历时大半个月的时间,第一版WiFi小车终于做好了从前端操作页面到后端的芯片控制,中间历经了太多困难,现在在此总结一下。原创 2023-01-09 11:25:33 · 1392 阅读 · 0 评论 -
ESP8266桌面时钟总结
做到这里只是简单的表示了一下时间,还有很多地方可以优化,比如可以修改灯珠的颜色,根据时间调整亮度,提供一个接口用于修改这些参数。后续也会慢慢优化,添加一些功能。原创 2022-10-02 00:16:00 · 913 阅读 · 0 评论
分享