- 博客(28)
- 收藏
- 关注
原创 ESP32-S3 使用内置USB下载程序、调试、LOG相关问题总结
英语真得好好学(实话)Google真好用完~以上均为个人学习心得,如有错误,请不吝赐教~THE END。
2024-01-10 19:52:33
9938
14
原创 STM32复习笔记(六):STM32远程升级&BootLoader相关
此外注意还需要在system中修改app工程下系统的中断向量表的偏移地址,修改为该程序的起始地址+4字节(一个字的偏移);因为bootloader跳到此处后,第一个字将赋给MSP,第二个字就是app程序的复位中断服务函数了,就类似于app程序复位了一样;
2023-10-04 00:07:51
1102
原创 STM32复习笔记(五):FSMC连接外部SRAM
STM32F4有一个FSMC(Flexible Static Memory Controller,可变静态存储控制器),可以用来驱动8080接口的TFT LCD,我之前就写过一篇,是用FSMC来驱动4.3寸液晶屏;此外,还可以用FSMC来连接外部的各种存储器,比如说SRAM、NOR FLASH、PSRAM等等;但是每个区(Bank)的功能是不一样的;Bank1可以连接多达4个NOR FLASH或PSRAM/SRAM存储器件(通过片选);
2023-10-03 16:16:04
3627
3
原创 STM32复习笔记(四):看门狗
独立看门狗本质是一种定时器,其作用是监视系统的运行,当系统发生错误(如程序卡死,程序跑飞)时,能自动让系统复位;观察cubemx中的时钟树可以发现,IWDG是由LSI提供32KHz的时钟,而IWDG内部可以对LSI时钟进行分频,预分频系数从4~256(须为2的次幂);并且系统复位时,IWDG的12位递减计数器初值为4095,在启动IWDG后,计数器递减计数,当计数值为0时,系统复位;所以如果程序正常运行的话,必须在规定时间里刷新IWDG内递减计数器的值(这就是大家说的“喂狗”),以防止系统复位;
2023-10-02 21:09:47
415
原创 STM32复习笔记(三):串口
串口有UART(Universal Asynchronous Receiver Transmitter,通用异步收发传输器),USART(Universal Synchronous Asynchronous Receiver Transmitter,通用同步异步收发传输器),在物理层,常用的有TTL(晶体管-晶体管逻辑,0V表示逻辑0,5V表示逻辑1),RS232(+3V~+15V表示逻辑0,-15V~-3V表示逻辑1),RS485(差分线);然后点击执行下一句,会发现系统进入阻塞状态,等待串口输入数据;
2023-10-02 17:19:32
333
原创 STM32复习笔记(二):GPIO
接下来配置NVIC。设置EXTI0,EXTI2,EXTI3,EXTI4的抢占优先级为1,2,1,1,次优先级为0,0,2,1(注意0为最高优先级,3为最低优先级),主要是为了观察同时发生中断时,高抢占优先级的中断能否如理论般正常抢占低抢占优先级的中断,还有就是抢占优先级相同时,次优先级高的是否先执行;当然理解了原理修改起来就不难,只需要将两行函数互换,当检测到外部中断时,立马执行中断回调,不在管外界还有多少个相同的外部中断均不理会,只有当回调函数执行完毕后,再清除中断标志,这样就避免了多次中断。
2023-10-01 23:29:07
611
原创 STM32复习笔记(一):软件配置&工程创建
呃,首先说点题外话。记得第一次听说stm32这个东西的时候还是在2021年12月左右,当时刚刚自学完了51单片机,参加了个小比赛。然后一个偶然的机会,拿(白嫖)到了一块stm32f4的最小系统板,然后对着某原子的“stm32f4单片机新建工程模板.pdf”捣鼓了一个下午,终于点亮了一颗LED。。后来想去b站找教程,我记得有个up讲51讲得很好(好像叫什么江科大?),但是当时他的stm32版本才只有几集。。。
2023-09-30 18:44:30
558
原创 数据结构八:各类内部排序算法
包含有多个内部排序算法代码实现:直接插入排序、折半插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、二路归并排序。
2023-08-16 11:43:56
205
原创 浮点类型数据与字节数据转换(C语言)
在数据传输过程中,基本上都是以字节来传输,为了防止浮点数传输时发生精度损失,可以将浮点数转换为字节数组传输。
2023-08-09 23:07:06
1982
原创 数据结构六:栈的应用-括号匹配
采用顺序栈来进行括号匹配编程语言是C&C++混合,学多了已经分不太清了,比如说什么malloc、new、delete、free混着用,直接一起来呗!
2023-07-31 18:13:06
150
1
原创 数据结构五:队列(C/C++实现)
值得注意的是链队列在删除最后一个结点时,要修改队尾指针以上均为个人学习心得,如有错误,请不吝赐教~THE END。
2023-07-31 17:23:09
584
1
原创 数据结构四:栈(C/C++实现)
注意搞清楚带头结点以及不带头结点的操作不同之处(主要在于处理头指针处)以上均为个人学习心得,如有错误,请不吝赐教~THE END。
2023-07-30 23:36:39
477
1
原创 数据结构三:双链表(C/C++实现)
双链表插入以及删除的时候要小心操作指针,防止发生空指针错误、指向不正确等问题。以上以上均为个人学习心得,如有错误,请不吝赐教~THE END。
2023-07-30 21:06:21
261
1
原创 数据结构二:单链表(C/C++实现)
采用C++的引用在修改指针的时候更方便,C中要修改指针的话就要用到指针的指针->二级指针。以上以上均为个人学习心得,如有错误,请不吝赐教~THE END。
2023-07-30 18:05:20
149
1
原创 数据结构一:顺序表(C/C++实现)
总体来说C++的引用与布尔值更好操作一些,特别是在后面链表修改指针的时候,引用更方便,也更安全;但是C的指针也不赖,在链表修改指针的时也可以使用二级指针来操作。以上以上均为个人学习心得,如有错误,请不吝赐教~THE END。
2023-07-29 23:02:30
1434
1
原创 STM32 FreeRTOS处理LVGL+串口双任务相关问题总结
不管怎么说,这次调试(踩坑)经历丰富了我的经验,也算是不虚此行吧!以上均为个人学习心得,如有错误,请不吝赐教~THE END。
2023-07-17 22:45:05
3388
3
原创 STM32串口IDLE中断接收+DMA(HAL库)
1、打开异步串口,配置相关参数:2、使能发送和接收DMA,模式配置为单次发送,也就是每次发送完之后需要手动开启DMA,这样可以使得接收数据的过程更好控制;选择Memory地址自增,也就是每存一个数据,地址指针自动加1;
2023-06-27 21:50:16
3878
8
原创 STM32F4使用FSMC驱动4.3寸触摸屏(HAL库+CubeMX)
官网资料文档这是一个8080接口的TFT-LCD屏幕,可以用8080接口来驱动,也可以用stm32的FSMC(可变静态存储控制器——Flexible Static Memory Controller)接口来驱动,具体有关FSMC时序感兴趣的话可以去网上查,我这里就不再赘述了(我也不是很懂~)。然后它的触摸(touch)是采用IIC来进行通信的,比较奇怪的一点是PCBA上丝印却写着MOSI & MISO & SCK & CS,一度让我以为它是用SPI来通信。。。
2023-05-23 16:44:46
7196
15
原创 STM32 HAL库 PWM+DMA 驱动WS2812B彩灯(STM32F030F4P6)
博主使用STM32驱动WS2812B主要参考了这位佬的,因为需求问题,采用了Cortex-M0的stm32f030f4p6(16k的flash,4k的sram)来驱动,原文中写的是stm32f103c8t6,个人认为其实区别并不是很大,需要修改部分参数即可移植(cv战士申请出战)。上图是我的一圈灯,一共8个,第一个LED的数据输入端接的是定时器1的通道2,想看底层原理可以去看佬的,本文只介绍如何移植。
2023-04-02 16:10:55
8164
22
原创 基于STM32的AT24C08数据读写
m有关AT24C02/04/08的区别:02有2k的空间,04有4k,08有8k,每2k作为一个page; 器件地址的区别:根据芯片手册:可以看到:对于2k的器件,A2,A1,A0均作为地址位;对于4k的器件,A2和A1作为地址位,而A0位则作为寻页位,也就是A0为0时,选定第一页,A0为1时,选定第二页;而对于8k的器件,仅有A2位作为地址位...
2022-03-09 21:03:11
5099
2
原创 基于STC89C52RC的IIC通信控制AT24C02芯片存储数据,以及定时器扫描数码管、独立按键控制
基于STC89C52RC的IIC通信控制AT24C02芯片存储数据,以及定时器扫描数码管、独立按键控制
2021-12-04 16:07:55
1614
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人