随笔分类 - stm32
摘要:转载自:https://bbs.21ic.com/icview-3091004-1-1.html MCU功耗明明应该只有176nA,可是测出来的硬是达到了700mA!简直是不能忍啊,想死的心都有了。 平常我们在使用MCU低功耗时经常会出现实际功耗比理论功耗偏差较大,如在某些低到微安级的功耗模式,而我
阅读全文
摘要:参考了以下文章: https://www.jianshu.com/p/579783d28044 https://blog.csdn.net/d1w2jsw/article/details/112206357 STM32CubeMX之USB从机 微信公众号 https://blog.csdn.net/
阅读全文
摘要:之前写过单片机状态机的框架编写,软件定时器的编写等,这些都是在中大型裸机框架中经常用到的,否写就无法很难写好软件。 本文则再次整理一些裸机框架的一点思路。 毫无疑问,裸机里面,状态机、软件定时器都是要用到的,但是在整个工程里面,需要合理设计框架,合理利用状态机和软件定时器,至关重要了。 裸机就是大循
阅读全文
摘要:转载:https://www.cnblogs.com/zhangte/p/5155452.html [引]:侵入检测的作用就是监测侵入事件,保护重要的数据不被非法窃取。 你的数据是保存在RAM里的;但是一掉电RAM里的数据就没了;有一块地方,后备电池相关的一块RAM的数据却放不掉(除非电池没电了);
阅读全文
摘要:呼吸灯,这个在手机或者其他设备设备上面都有类似的灯,生活中比较常见的。单片机中怎么实现呢,通常是两种2中方案,1、硬件pwm输出控制,2、使用io模拟 0、视觉残留,人的眼睛有视觉残留,对于快速闪烁的东西无法分辨出来,看电影电视就是这个道理,其实就是快速的播放很多张静止的画面,就以为是动起来了,放映
阅读全文
摘要:使用cubemx 创建带freertos的工程,可以配置 HEAP 的地方有2个,为了加以区分,姑且称为 程序堆栈与操作系统堆栈,如图:请问它们的作用分别是什么,它们之间有什么关系?最近因为项目要上freertos并设计芯片选型,不得不考虑现有工程加上freertos以及任务等后所需的ram和fla
阅读全文
摘要:1、cubemx初始化,默认使用systick 2、生成keil5 mdk工程 3、移植eos 4、注释掉stm32f1xx_it.c的几个中断函数:PendSV_Handler,SysTick_Handler,注释掉systick相关代码,因为eos中已经定义了。 5、添加路径 6、编译 eos可
阅读全文
摘要:在使用cubemx的情况下,通常会自动初始化HAL_Delay()延时函数的,裸机情况下,就是使用了systick,如果如适用freertos等rtos,那么他会强制使用其他定时器作为时间基准,但起始可以把HAL_Delay()这个函数取消了,因为在cm3内核有dwt作为时间的延时函数,多个中断,总
阅读全文
摘要:以下几张是lpc的nvic截图,需要开启在线仿真后再截图~ 从中可以看出,编号2-16的异常是cm3内核独有的,不是外设芯片的,也就是说,只要是cm3内核就必须有这些异常。 2和3的异常的优先级是固定为-2,-1的不能更改的,见下表的4.8的框图,这个是f10x的内核技术手册,是cm3技术手册的部分
阅读全文
摘要:http://pandafruits.com/stm32_primer/stm32_primer_lib.php As I mentioned in the last section we need to do a bit more work to the infrastructure to mak
阅读全文
摘要:原文来自:http://pandafruits.com/stm32_primer/stm32_primer_minimal.php In this section I'll show how to get the STM32F103RB running with a minimal "hello w
阅读全文
摘要:转载自:单片机上内存管理(重定义malloc free)的实现 https://blog.csdn.net/qq_21475601/article/details/77579462?locationNum=7&fps=1 https://files.cnblogs.com/files/CodeWor
阅读全文
摘要:图片转载自:https://zhuanlan.zhihu.com/p/81309285 这篇文章讲述的其实是类linux驱动模块框架module_init(init_fun)在STM32上的实现,原来底层有这么多的技巧, IAR也有的:IAR 实现类linux驱动模块框架module_init(in
阅读全文
摘要:这本书,买了很久,到现在算是大致浏览了一边,还是非常有收获的,以前都是直接看的芯片的手册,但是芯片手册在内核当中,讲述的知识点是比较少的,因此相互结合的看,很有必要。 这里就自己想到什么就整理什么,肯定有遗漏的,以后有机会看第二遍,再完善。 1 双堆栈的特点,MSP、PSP,看着有点迷糊,两者物理地
阅读全文
摘要:温度采集有很多方案,NTC,PTC,热电偶,红外等等。这里以NTC为例,做个记录 NTC的电路如图所示: , R66端的电压输出到单片机的引脚,中间有缩小系数。具体的思路是,读取adc的电压(mV,这样更加精确),换算为电阻值,NTC在25度的时候是10K欧姆,R66是2K。那么电压就是v=2250
阅读全文
摘要:都说软件定时器的有点很多,网上流传了很多,尤其是github上面的,公众号上面也有推荐。比较多的是multitimer和smarttimer,安富莱也模板,和文档说明,详细可以去参考他的文档。这里就深入分析下软件定时器的运行机制,深入理解下。 普通的裸机程序中,基本上是硬件定时器里面计时,设标志位,
阅读全文
摘要:单片机中有很多延时的实现方式,这里参考了鱼鹰谈单片机的,安福莱的原子的等网上信息,做一个整理。更加细节可以参考鱼鹰的文章,很详细。 1、汇编延时,nop指令,这个51当中就有了,332位单片机未验证也不想找了。一般不用,属于死等方式。 2、软件延时,这个方式就是for循环,属于死等方式,这个方式延时
阅读全文
摘要:1、如果是单片机控制一个ad7793,那么使用检测drdy引脚低电平来检测adc是否转换完成。 2、如果是单片机控制多个ad7793,那么不能使用检测drdy引脚低电平来检测adc是否转换完成,因为此时DRDY引脚是高阻态,无法检测低电平。英文如下:Yes, you can use this on
阅读全文
摘要:抽空学习了这本书,不然买了就是浪费了,择其重点而学之。 1、讲述了单片机的接口技术,数中讲述了8051,其实适用于大部分的单片机,原理都是相同的,但也有区别,比如如果单片机中GPIO引脚比8051功能增强或者有上拉电阻等,这样的接口电路就有区别了,但是书中讲的基础有助于项目中实际应用。也包括串口存储
阅读全文