电子创客营的文章

嵌入式

我用这一招教会了老婆《状态机》——程序员与非程序员必看 24小时内最新

人物介绍: 我——小D我老婆——小Q 搬好小板凳开始了…… 小Q:“帮我拿下……” 小D:聚精会神的看着手机…… 小Q:“喂!帮我拿下……” 小D:继续聚精会神的看着手机…… 小Q:“听讲没有,XXXXXXXXXXXXX” 小D:我做错了什么?我咋了?懵逼…… 小Q:老娘都这么生气了,你还啥都没……继续阅读 »

5小时前 6浏览 0评论 0个赞

嵌入式

马上2020了,MDK还能好好用吗

MDK也就是keil for arm的版本,对于大多数开发者应该是很熟悉的了,没事看了下以前破解的日期,惊了一呆,2020年马上就要到期了: 仔细看后面写的是support Period是支持日期,到期了能不能继续正常使用就不(zi)知(ji)道(ce)了。 不过对于强迫症来说需要一个新的破解工具,再次给大家奉上,下载地址如下: ……继续阅读 »

2天前 21浏览 0评论 0个赞

STM32

STM32L0擦写EEPROM 无法执行代码?

在stm32L071cb 这个型号的mcu带了6k的eeprom,项目中正好需要用到存储一些参数,借用现成的何乐而不为呢 在测试代码中运行写入再次读取数据保证是正确的,也没有其他副作用。但是到真正派上用场的时候却挂了。在一上电的初始化过程中我会存储一些参数,而从程序打印的log信息来看,百分之八九十的情况都会运行到写入eeprom的时候程序卡死。当然……继续阅读 »

3天前 40浏览 0评论 2个赞

嵌入式

Freertos printf可重入的问题

调试程序时候常用printf来作为调试日志输出,方便定位问题所在位置。但最近出现一个现象程序运行过程中会出现莫名的异常死机。 但是在死之前有个征兆,观看打印的日志,有两条信息穿插打印的现象。所以才想起来去考虑是不是printf引起的。 在整个项目中我运行的有8个任务,而在每一个任务里面几乎都会有使用printf进行调试信息打印。所以从开始就埋下……继续阅读 »

2周前 (11-07) 77浏览 0评论 1个赞

STM32

STM32 CAN 发送的简单测试

can接口相对是一种常用的串行接口,但是不像spi、i2c、uart等接口都有主从的关系,can可以任何一个节点主动发送数据,并且假如出现总线冲突会有硬件来处理。 can和rs485又有些类似,都是把ttl信号转换成了差分信号。所以在stm32 使用can的时候会有一个can收发器。 从电路上看起来也很简单,stm32也是通过can t……继续阅读 »

4周前 (10-28) 168浏览 0评论 3个赞

嵌入式

485 发送的同时如何接收数据

485是通过两根差分线来传输数据,所以总线上要么是发送的数据,要么是接收的数据,所以标准两线485是属于半双工的工作模式。既然是半双工,发送的同时又接收数据,这个问题岂不是很奇怪,并且这样的实现又有什么意义。 先看下到底是基于什么场景我才想到去验证这么一个问题。标准485总线上可以同时挂载多个设备,但是只能有一个为主机,其他的都为从机。 ……继续阅读 »

2个月前 (10-08) 314浏览 0评论 4个赞

STM32

stm32L0 +freertos tickless低功耗

嵌入式实时操作系统运行中都会有一个系统时钟节拍,类似于人的心脏来驱动整个系统的运行。运行在arm cortex-m内核的单片机上的系统时钟用的最多的就是systick(属于arm内核带的)。使用stm32cubemx可以直接生成移植好的freertos工程,默认也会使用systick为系统时钟,时钟周期为1ms。 基于MCU的低功耗核心思想也很简单,……继续阅读 »

2个月前 (09-26) 434浏览 1评论 5个赞

STM32

STM32L0 ADC DMA多通道多次采集

之前写过一篇非dma方式adc多通道采集的文档:http://www.eemaker.com/stm32cubemxadc.html 不过之前是基于stm32F1系列来操作的。当使用L0系列按照之前的操作步骤操作并没有成功,so只能用中断或者DMA的方式来实现。L0相比原来F1系列的ADC有进行一些精简改动,所以对于adc的操作就不是完全一样的。 ……继续阅读 »

3个月前 (08-14) 757浏览 4个赞

NORDIC

52832带softdevice工程移植freertos

基于BLE应用加上freertos的应用,官方只提供了一个例子,针对自己的应用使用freertos具体需要添加哪些文件执行哪些步骤没有很明确的参考说明,so特此整理一份。 本篇硬件基于nrf52832-DK开发板。SDK基于V15.3版本。 添加freertos需要文件 在MDK工程中创建文件夹freertos,添加freertos的c文……继续阅读 »

5个月前 (07-09) 1147浏览 4个赞

嵌入式

使用freertos如何确定分配堆栈空间大小

运行freertos系统的大部分都是资源有限的MCU,所以对于ram我们都要考虑尽量的节省,避免资源浪费,从而也可以针对项目选择性价比更好的mcu。 首先要配置freertos的堆(heap)空间,创建任务我们还需要为每个任务分配栈(stack)空间,那么针对freertos的堆栈空间到底该如何确定? freertos从V9版本以后同时支持静态……继续阅读 »

5个月前 (07-01) 2445浏览 2个赞