针对stm32,stm8使用过程中的常见问题的解惑,涉及有stm32cubemx开发教程,stm32项目开发,还有站长做stmcu FAE的一些经验总结。

STM32 CAN 发送的简单测试

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

电子创客营 3周前 (10-28) 150浏览 0评论 3个赞

stm32L0 +freertos tickless低功耗

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

电子创客营 2个月前 (09-26) 407浏览 1评论 5个赞

STM32L0 ADC DMA多通道多次采集

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

电子创客营 3个月前 (08-14) 718浏览 4个赞

stm32cubemx 配置freertos中断优先级

stm32cubeMx 直接集成freertos,可以不需要自己手动移植只需要把freertos的选项勾选就可以。 但是生成的代码工程中,freertos暴露给用户的API接口并不是原生的freertos接口,是经过cmsis-rtos进行一次包装之后的。所以如果使用信号量、消息邮箱、定时器等等接口的时候要查询cmsis-rtos文档,并且c……继续阅读 »

电子创客营 6个月前 (06-06) 1154浏览 4个赞

MDK仿真下逻辑分析仪无法查看引脚变化

使用的单片机型号为stm32F103c8t6,该工程是基于stm32cubemx生成的。我记得之前我是使用过stm32f103系列在mdk下通过自带的虚拟逻辑分析仪观查引脚上变化波形的。只是今天再次用这个功能的是时候出现了点状况,添加PORTB.8的时候一直提示没有这个引脚,如下图所示。 在命令窗口对话框中输入 dir vtreg 可以查看能……继续阅读 »

电子创客营 10个月前 (01-08) 1456浏览 0评论 2个赞

keil下stm32工程直接烧入GD或其他兼容单片机

现在很多国内厂商做和stm32F103完全兼容的单片机,甚至有些源代码一点都不用修改烧进去就可以正常运行。 所以基于stm32的库、工具来直接开发这些单片机,最后直接烧录进去也是可以的。但是最近尝试的时候碰到一个问题,就是在mdk5下面,我基于stm32F103cb的工程,编译好以后烧录进其他兼容型号的单片机中会提示厂商ID不符。也就是mdk在烧录之……继续阅读 »

电子创客营 11个月前 (01-02) 1109浏览 2评论 2个赞

stm32 全局变量自己乱变

呵呵,什么奇葩问题都能遇到。在编写stm32的程序发现一个逻辑判断功能不正常。随机调试,发现自己定义的一个全局变量在确定没有代码操作他的情况下竟然在自己乱跳。 但是真理告诉我不要怀疑芯片的问题,不要怀疑编译器的问题。但是还是忍不住怀疑了一下。然并卵…… 但是呢,当我把代码里面的定时器关闭时,这个现象消失了。在定时器的中断函数中我就执行了一个操作,就是按键的扫……继续阅读 »

电子创客营 1年前 (2018-08-17) 2123浏览 0评论 2个赞

stm32F0 串口的几个特殊功能

串口的使用中我们常用的就是串口的中断收数据,发数据。但除了普通的收发stm32F0系列的串口增加了很多新的功能。如果巧妙的把这些功能用起来就可以达到事半功倍的效果。把能交给硬件处理的就交给硬件可以节约大量的MCU时间用来做其他事情。也能大大调串口通信的可靠性。     功能一:串口多机通信 stm32串口是支持多机通信的,多机通信也很好理解,就是把多个从机的……继续阅读 »

电子创客营 1年前 (2018-08-07) 1794浏览 0评论 4个赞

stm32 不同外部中断互相影响?

在调试小车车轮的计数,分别用两个外部中断的上升沿来对光栅编码器进行计数。MCU 使用的是stm32F103C8T6。思路很简单,我再用一个定时器1秒处罚一次中断。触发以后我就把两个外部中断的值给打印出来,这样就可以统计出来一秒钟小车车轮的转了多少圈。 但是却遇到一个奇怪的现象,把电路都接好,一个车轮转而另外一个车轮不转。却发现两个外部中断都在计数。首先先看……继续阅读 »

电子创客营 1年前 (2018-08-06) 1434浏览 0评论 5个赞

stm32 使用LL库配置pwm输出

    本例程基于stm32F030F4 的LL库来实现一路pwm输出。 软件:stm32cubemx   MDK5 基本的操作我就略过了,重点看下用cubemx如何配置,已经代码里面需要调用哪个接口函数。 不管是使用HAL库还是LL库,在stm32cubemx下的配置是一置的。具体如下图: 按照上图配置好以后,记得在设置中修改为使用LL库,然后生成MDK……继续阅读 »

电子创客营 1年前 (2018-07-26) 3035浏览 0评论 5个赞