ARM
songisgood
w+ KING_SONGING 有朋自远发来,不亦说乎!-----唱歌的国王
展开
-
解决stm32f103同一个扇区flash只能擦除一次,再次擦除报FLASH_ERROR_PG错误问题
项目中用到stm32内部flash存储一些系统运行数据,每次上电重新加载保存的数据。早先用法如下图所示,擦除之前每次要关闭总中断,解锁flash,擦除对应扇区,然后写入数据。 __disable_irq(); //关总中断 FLASH_Unlock(); //解锁 FLASH_ErasePage(STM32_FLASH_BASE);//擦除起始扇区 for(i = 0;i<12;i++) { FL原创 2020-06-05 12:36:27 · 6763 阅读 · 2 评论 -
EC11、EC16、ECxx旋转编码器按钮软件滤波程序滤除干扰杂波51单片机C程序
前些日子在网上买了一些旋转编码器按钮,被奸商坑了,输出的正交脉冲,在发生边沿跳变的时候会产生干扰毛刺,毛刺通过硬件RC滤波能改善一些波形,但是还是会有杂波干扰程序。正常正转波形如下图所示: 干扰正转波形如下图所示: 干扰反转波形如下图所示:旋转编码器的原理,这里不做介绍了,由于之前使用的是1ms轮询查询IO口状态判别旋转方向,正常的正交脉冲式...原创 2019-05-27 15:27:23 · 9014 阅读 · 10 评论 -
站在单片机码农的角度对物联网、MQTT、SOCKET、TCP的另类理解
物联网这个词已经火了一阵子(觉得炒作的成分大一些),现在到像是过气的网红,今天咱就说说基于TCP的MQTT到底是个啥,当初听到MQTT觉得很高大上的样子,各种专业名词,发布订阅代理甩一脸,虽然有了吹嘘的资本,但是一直没有理解MQTT到底是什么,单片机开发人员都喜欢刨根问底,MQTT在程序中存在的最终形式是什么?作为嵌入式开发人员该怎样理解。一、从嵌入式角度看MQTT 从...原创 2019-04-26 14:53:54 · 2332 阅读 · 1 评论 -
stm32f103/105 串口DMA接收不定长数据,不使用空闲中断
最近使用一个2.4G无线模块,做主机从机之间通信,取代原先485有线通信,由于使用的是串口透传模块,简单改了一下标志位,就开始调试程序了。 1、串口助手连无线模块,能发送接收 (正常) 2、主电脑分别当主从机,测试电路板modbus是否正常(不带模块...原创 2019-04-10 14:52:03 · 4140 阅读 · 7 评论 -
stm32f407VG gpio详解
stm32f407VG 这款单片机上共有PA‐PE 共5×16 共80 个复用IO 口,每个通用I / O 端口有4个32 位配置寄存器(GPIOx_MODER ,GPIOx_OTYPER,GPIOx_OSPEEDR,GPIOx_PUPDR),2个32 位数据寄存器(GPIOx_IDR 和GPIOx_ODR),一个32 位的置位/复位寄存器(GPIOx_BSRR),32位锁定寄原创 2013-11-09 22:02:19 · 4000 阅读 · 0 评论 -
STM32F4 Discovery建工程 (修改小船之前问题,以及对USE_STDPERIPH_DRIVER解释)
STM32F4 Discovery第一步——新建工程 我用的是IAR来编辑,编译,调试工程的,因此首先介绍一下IAR。IAR Embedded Workbench for ARM 是一套支持ARM所有处理器的集成开发环境,包括项目管理器、编译器、C/C++编译器、汇编器、连接器和调试器。在IAR Embedded Workbench for ARM环境下可以使用C/C++和汇编语言方便的开发原创 2013-11-08 21:42:50 · 2644 阅读 · 1 评论 -
点亮板载led
硬件连接图连接GPIOD12~GPIOD15 首先建立两个头文件 led.c 和led.hLed.c 主要用来写led功能函数Led.h 主要用来声明led.c里面外部要引用的函数名。 #include "led.h"/******************************************************************原创 2013-11-10 16:27:49 · 774 阅读 · 1 评论 -
STM32F4 IAR 官方库文件配置 USART1 实现简单的发送文件
STM32F407xx内嵌四个通用同步/异步接收器(USART1,USART2,USART3 和USART6)和两个通用异步收发器(UART4和UART5)。这6个接口提供异步通信的IrDASIR ENDEC支持,多机通信模式,单线半双工通信模式LIN主/从功能。 USART1和USART6接口能够速度高达10.5 Mbit / s的通信其他可用的接口通信高达5.25bit/s。USART1,US原创 2014-05-02 15:19:50 · 2339 阅读 · 0 评论 -
STM8L101系列单片机串口配置详解(基于IAR自带库)
STM8L101f3p6 有一个串口如图本历程基于库操作 不讨论具体寄存器操作有兴趣的同学可以自行参考编程手册下面看一下手册的了解一下特点 本人英语是个小白只可意会不可言传了 内部结构了由于是基于库函数的所以不做寄存器的分析了库函数的好处就是可以在不了解单片机寄存器的前提下 可以快速开发应用 下面举个例子 波特率 9600 8位字长停止位一原创 2014-12-29 12:43:28 · 6940 阅读 · 0 评论 -
使用stm32f103 PA11不能正常使用IO问题
最近做了个小项目 使用 PA11 输出控制光耦配置方式 如下: GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;原创 2016-06-24 17:42:03 · 9896 阅读 · 3 评论 -
STM32F407 定时器TIM3 出现 HardFault_Handler
今天准备用STM32F407定时器做个 定时周期扫描,想偷个懒,于是乎在在战舰的开发历程中复制出来一段,结果无尽的折磨人来了。首先看我复制的代码。 根据实际需要 我把代码改成这样了 几乎就是没动了。然而就是这么简单的 事出现问题了。 点击运行 本想看着小灯狂闪,结果坑爹了 进这个异常中断里了,这是什么鬼?打开 fault report原创 2016-09-13 16:46:29 · 3887 阅读 · 0 评论