- 博客(16)
- 收藏
- 关注
原创 FreeRTOS任务中使用printf导致其他任务不运行
我的工程中建立了4个任务,start_task用于创建其他三个任务,start_task1、start_task2分别控制LED灯闪烁,start_task3打印输出。当start_task3执行printf的时候,既不输出,也导致其他任务停止。start_task3的堆栈大小改大一点,之前是128,改为了512正常。
2024-07-03 17:41:44 339
原创 FreeRTOS相关函数----任务创建(动态静态)与删除
我们需要自行定义这两个函数/* 空闲中断所需任务 *//* 定时器所需任务*/代码while(1)while(1)while(1)while(1)
2024-06-25 14:58:52 234
原创 FreeRTOS
FreeRTOS是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制。FreeRTOS提供了实时操作系统所需要的所有功能,包括资源管理、同步、任内务通信等。FreeRTOS使用C语言和汇编共同编写,只有极少数与处理器相关的部分代码采用汇编。
2024-06-20 16:06:30 827
原创 单片机之以太网DMA描述符介绍
不需要CPU参与,将RXFIFO中的数据传输到描述符指向的缓冲区中。:不需要CPU参与,把描述符指向的缓冲区数据传输到TXFIFO中。用来管理缓冲区的,这些缓冲区就是发送缓冲区和接收缓冲区。网络层下载数据包到TXFIFO,需要以太网DMA。
2024-06-19 09:21:20 284
原创 RAW实现TCP客户端和服务器的创建-STM32F767
参考文章:【LWIP】stm32用CubeMX(6.4版)配置LwIP+Ping+TCPclient+TCPserver发送信息到PC(操作部分)_cubemx lwip-CSDN博客。
2024-06-18 16:39:00 676
原创 RAW接口的UDP实验-STM32H767
函数:获取pbuf的UDP的首部,然后遍历UDP的控制块链表(单向链表),判断报文的端口与链表中某个控制块的本地端口是否一致,如果一致,就会将pbuf递交给这个控制块,该控制块将pbuf递交给回调函数处理。//LWIP内核根据端口号把数据发至那个UDP控制块。(1)udp_new 创建一个UDP控制块;描述:每一个控制块用来描述各自网络的的信息(一个控制块代表一个UDP连接)。回调函数:每一个控制块都管理一个接受回调函数(此函数可以相同,可以不同);链接:多个UDP控制块构建一个单向的链表;
2024-06-17 15:16:28 352
原创 单片机配置LWIP
LWIP:是小型的开源TCP/IP协议栈。LWIP可以做什么:云平台接入、无线网关、网络摄像头、远程模块。在单片机中,LWIP协议实现了应用层、传输层、网络层的代码,数据链路层由MAC内核实现,物理层由PHY芯片实现。所以LWIP+MAC+PHY实现了TCP/IP模型。STM32自带10/100Mbit/s的以太网MAC内核,他提供地址及媒体访问的控制方式。(1)传输速率:支持外部PHY接口实现10/100Mbit/s数据传输速率。
2024-06-13 10:54:15 938
原创 STM睡眠模式、停止模式、待机模式
睡眠模式SLEEP:CPU停,外设运行,唤醒源是所有中断(串口中断、按键中断、溢出中断...)停止模式STOP:1.8V供电区域的所有时钟都被停止。CPU停、时钟停、外设停,只有SRAM和寄存器还能保持原来的值。唤醒源是外部中断(按键中断)。待机模式SUSPEND:CPU停、外设停、时钟停、SRAM和寄存器停(相当于整个都断电了)。只有备份寄存器和待机电路还能工作。
2024-01-19 15:06:53 703 1
原创 STM32CubeMX配置SPI访问W25QXX
读取制造厂商/设备ID。不同的芯片制造厂商/设备ID是不同的,具体是多少要查看对应的手册。指令最后得到的是MF7-MF0 ID7-ID0,所以得到的是EF15代码编写过程:1、先将CS拉低2、发送8位指令3、发送24位的地址4、接收8位的制造商ID和8位的设备ID5、CS拉高ID = temp;ID = ID
2023-12-22 11:17:22 1549
原创 I2C总线
常见总线:uart、iic、spi、can、485作用:连接两个外设器件,用于传输数据。uart:连接(两个CPU)的总线,如PC机和单片机的数据传输。内部之间的数据传输,如单片机和EEPROM之间的数据传输。
2023-12-21 13:36:48 405
原创 STM32CubeMX配置PWM实现呼吸灯
PWM:即脉冲宽度调制。占空比:一个周期内,高电平所占时长和周期时间的比。呼吸灯:即LED灯能够实现亮度变化。
2023-12-20 15:20:20 395
原创 STM32CubeMX配置DMA接收
DMA用来提供在之间或者之间的高速数据传输。无需CPU的干预,通过DMA数据可以快速地移动,这就节省了CPU的资源来做其他操作。----DMA发送数据前和完成发送都属于DMA的空闲状态。
2023-12-20 11:27:12 731
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人