- 博客(29)
- 资源 (29)
- 收藏
- 关注
原创 sd调试记录(标准库 +RL-FlashFS):
换用32G的sd卡,立马就成功了,或者利用DiskGenius 把64G的SD卡由exFAT变为FAT32也成功了。前面用FatFs 与 stm的HAL实现了sd卡的使用,由于项目是用标准库开发的,选择了ARM的RL-FlashFS实现sd卡开发;这次移植知道了文件系统有很多,前面的stm的FatFs,还有LittleFs,ARM的RL-FlashFS,threadx的工业级。1. sd卡的硬件电路和硬汉的电路sd卡的监测引脚不一样,所以修改了SDIO_STM32F××.c文件的初始化,和中断的函数;
2025-05-28 15:32:41
245
原创 两个FIFO(硬汉老师 https://www.armbbs.cn/ )
在某些情况下,可能有两个任务都需要访问按键缓冲区,为了避免键值被其中一个任务取空,我们添加了第2个读指针Read2。3. 应用程序读取FIFO中的键值,是通过bsp_GetKey函数和bsp_GetKey2函数实现的。1. 在bsp_key.h 中定了结构体类型KEY_FIFO_T。在bsp_key.c 中定义s_tKey结构变量, 此时编译器会分配一组变量空间。返回值KEY_NONE = 0, 表示按键缓冲区为空,所有的按键时间已经处理完毕。
2025-04-28 14:58:20
208
原创 刘火良FreeRTOS内核实现与应用学习之7——任务延时列表
在《刘火良FreeRTOS内核实现与应用学习之6——多优先级》的基础上:关键是添加了全局变量:xNextTaskUnblockTime ,与延时列表(xDelayedTaskList1、xDelayedTaskList2)来高效率的实现延时。以前需要在扫描就绪列表中所有任务的xTicksToDelay值,进行任务就绪与否的操作;现在修改之后只需根据xNextTaskUnblockTime 值判断延时列表中的任务是否就绪,进行相应的操作;
2025-04-12 11:58:00
565
原创 Multisim 仿真 DC Sweep 双源嵌套扫描嵌套
Multisim仿真工具箱里头有DC Sweep分析,分析中可以对两个源参数扫描分析。也就是Source 2是大循环,内部嵌套Souce 1的小循环;利用DC 扫描,可以做出MOSFET的输出特性曲线。
2025-04-10 15:11:38
215
原创 刘火良FreeRTOS内核实现与应用学习之6——多优先级
位置:在task.c文件中定义;实现记录当前运行任务的优先级,直接得到优先级的序号,并更新到静态变量 uxTopReadyPriority 中;位置:在task.c文件中定义;/* 寻找包含就绪任务的最高优先级的队列 */ \/* 获取优先级最高的就绪任务的TCB,然后更新到pxCurrentTCB */ \/* 更新uxTopReadyPriority */ \1)用于寻找优先级最高的就绪任务、更新静态变量 uxTopReadyPriority;
2025-03-28 18:15:15
744
原创 DM9162使用记录
Pin 12 (LED1/OP1): 黄灯亮 100M,不亮:10M10Mbps: 高电平100Mbps: 低电平绿灯 闪烁 (高低电平交替),指示 Link 正常:长亮 代表无数据收发;闪烁 代表有数据收发。
2025-03-25 19:04:20
889
原创 刘火良FreeRTOS内核实现与应用学习之4——空闲任务与阻塞延时
在《刘火良 FreeRTOS内核实现与应用之2——任务的定义与切换》的基础上构建了:1. 空闲任务:a. 修改了任务控制块,增加了一个用于延时的变量:TickType_t xTicksToDelay; b. 2. 任务的阻塞延时函数:void vTaskDelay( const TickType_t xTicksToDelay )a. 增加了SysTick中断服务函数;b. 修改了portYIELD()函数;c. 修改了vT和普通任务创建的步骤类似,如下。#define configMINIMAL_STAC
2025-03-22 17:43:24
658
原创 FreeRTOS内核实现与应用之3——临界段的保护
CPS指令:CPSID 中断不使能;CPSIE中断使能;在FreeRTOS中,对中断的开和关是通过操作BASEPRI寄存器来实现的,即大于等于BASEPRI的值的中断会被屏蔽,小于BASEPRI的值的中断不会被屏蔽,用户可以设置BASEPRI的值来选择性地给一些非常紧急的中断留出余地。
2025-03-22 11:38:40
821
原创 刘火良 FreeRTOS内核实现与应用之2——任务的定义与切换
这一章我感觉很难,很跳跃,学习曲线陡然上升,有“从入门到放弃”的想法...。所以:建议一:坚持下去,看看什么时候放弃!!!建议二:跳跃,同时使用SourceInsight 代码利器,查看代码!!!
2025-03-17 12:14:22
734
原创 刘火良 FreeRTOS内核实现与应用之1——列表学习
/ 插入,建立新的链接;// 插入,建立新的链接;/* 没有事情可做,不断迭代只为了找到节点要插入的位置 */// 插入,建立新的链接;// 插入,建立新的链接;语句3:向前看:新的节点项的前面为插入出(前面的)语句2:向后看:插入出(前面的)指向新的节点项。/* 寻找节点要插入的位置 *//* 链表节点计数器++ */
2025-03-07 12:12:51
488
原创 stm32cubeide 的一些使用记录
1. 在ide生成的项目文件夹里头可以直接手动建立文件夹(或者拷贝文件夹及文件),然后在Project Explorer中刷新Refresh(快捷键F5),就可以看到所建立的文件夹及文件;
2024-09-12 15:19:12
280
原创 stm32 器件基础知识
3.在用户使用的时候,都会在gpio外加一个上拉或下拉电阻,这样当单片机复位以后就能够清楚的知道引脚的电平情况;至于到底哪些是兼容5V的,请看STM32F40x的数据手册(注意是数据手册,不是中文参考手册!凡是有FT/FTf标志的,都是兼容5V电平 的IO口,可以直接接5V的外设。凡是不是FT/FTf标志的,大家都不要 接5V了,可能烧坏MCU。(注意:如果引脚设置的是模拟输入模式,则不能接5V!查看数据手册,引脚标注”FT"的是可以容忍5V的。STM32F4的绝大部分IO口,都兼容5V,
2024-07-29 16:07:59
468
原创 sd调试记录(HAL库 + stm32cubemx):
比如在使用函数f_opendir(&DirInf, SDPath)、f_open(&SDFile, path, FA_CREATE_ALWAYS | FA_WRITE)函数时会出现错误:FR_NOT_READY。
2024-07-06 11:09:18
1090
原创 电容的偏压特性
电容的偏压特性是指电容在施加直流偏压(DC Bias)时,其电气特性(如电容量、电介质损耗等)发生变化的现象。对于某些类型的电容,尤其是陶瓷电容,这种偏压特性非常显著,理解和管理这些特性对于确保电路设计的性能和稳定性至关重要。然而,当施加一个10V的直流偏压时,实际测得的电容量可能降至仅7µF甚至更低。总结来说,电容的偏压特性是设计电路时需要认真考虑的一部分,特别是在精密应用和高稳定性要求的环境中。选择时需要参考详细的电容器规格书,并在实际电路中进行测试验证,确保在真实工作条件下能够符合设计预期。
2024-06-25 16:47:10
2094
原创 0xc0000225、0xc0000001的错误与进winpe一直卡在Logo界面转圈
3)奇迹出现,可以进入winpe了,进入winpe就可以利用ghost重装系统了,看到里头桌面还有一个修复MBR的快捷键,继续死马当活马医的想法,试试,先不忙着格式重装,修复,重启(把U盘),弹出启动失败,面临选择重试,或者F8指定启动设置,这个时候,心里突然冒出感觉,修复MSB成功是了,是不是可以进入安全模式,于是选择了F8,选择安全模式,于是激动人心的时刻出现,可以进入了,意味着不需要重装了,折腾了两天的系统,突然好了!2)进入 不了借助启动盘,进入winpe,重装,折腾太花时间了;
2024-06-20 15:12:27
2246
原创 Keil MDK 高级调试----Event Recorder工具
需要明确,若是需要使用Printf_debug功能(特别是当板子串口没有引出的时候),可以使用Event Recorder工具,前提条件:1. 有外接仿真引脚出来的话,在MDK环境下就可以使用硬件调试器:ULink、Jlink、ST-Link、CMSIS-DAP等的各种LINK进行调试,实现printf输出的功能;
2024-05-28 12:17:53
1089
原创 STM32 printf 与 MicroLIB 使用过程中的有用博文与注意事项
keil中使用软件debug功能查看printf输出结果_c语言_曹乐乐爱学习-GitCode 开源社区 (csdn.net)STM32程序不运行与MicroLIB讲解-CSDN博客STM32 HAL库:使用C标准库或MicroLIB实现printf | 多串口使用printf输出 | 结合DMA实现printf | 常见问题总结_stm32 microlib-CSDN博客。
2024-05-27 18:11:27
847
原创 关于fpga多模块共用复位信号
问题部分代码:最近在学习fpga,用的是小脚丫的Altera STEP-MAX10 V2.0 (10M08SAM153C8G) 板子,利用提供的STP MAX10实验指导书,实验18,秒表计时器,共3个模块:主模块Couter60、子模块1(分频模块,产生秒钟信号)、子模块2(两位数码管显示模块)。先上主模块代码:分配管脚,编译,下载测试,当按复位键(rst)时,数码管式中处于保持状态,不能按照程序写的复位清零。主模块的逻辑想不出问题,fpga(这个是不是也很难仿真发现问题在哪里啊???
2024-05-22 11:58:28
453
1
原创 使用stm32cubeIDE 错误“No such file or directory“的坑
上面的方法都很好,但是没有成功,最后实在没有办法了,直接,在文件中写出识别不了 的头文件的位置:#include "..\NorFlashW25Q64\w25q64.h",一编译成功了!
2024-04-28 18:46:21
3588
原创 关于软件AccessPort使用注意事项
1.串口监控之前,先设置AccessPort开始监测所在串口,本软件本身不会占用串口;2. 设置好之后,进行正常的串口打开,通讯;备注:当先进行2时,再进行1,AccessPort就无法进行串口监听,无法接收到信息。...
2022-03-27 09:22:00
3648
原创 c语言中“%nd”是什么意思?
d格式:用来输出十进制整数。有以下几种用法:%d:按整型数据的实际长度输出。%nd:n为指定的输出字段的宽度。如果数据的位数小于n,则左端补以空格,若大于n,则按实际位数输出。%ld:输出长整型数据。 从上面结果可以看出:1)符号位也算入n中;2)超过n的按实际接收3)小于n的用空格补齐;
2013-03-07 09:30:30
8621
转载 The * Modifier with printf() and scanf()
Both printf() and scanf() can use the * modifier to modify the meaning of a specifier, but they do so in dissimilar fashions. First, let 's see what
2012-10-26 16:06:08
479
原创 好的网站
看到一些好的网站或者博客,留个痕迹: 1.http://blog.csdn.net/column/details/programmer.html 当程序员的那些快乐日子 2.http://blog.csdn.net/column/details/novelnorains.html 一个程序员的奋斗史 3.http://blog.csdn.net/column/details
2011-12-09 11:36:43
399
转载 VC中的一段枚举串口代码
FindCommPort(){ HKEY hKey; int rtn; //m_ctrlComboComPort为对话框中的combobox框 m_ctrlComboComPort.ResetContent(); rtn = RegOpe
2011-10-08 09:52:44
755
2N6659输出特性曲线Multisim仿真
2025-04-10
Patterns for Time Triggered Embedded Systems英文(含代码).rar
2010-04-20
CserialPort类做成的dll控制电机
2011-10-08
Transformer Modeling By Harvey Morehouse.docx
2020-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人