一般来说,STM32的调试可以使用SWD。CLKGNDTMSRSTSWO ST-LINK/V2 这个调试器是非常便宜的。 使用时,会提示要更新,选择yes,重新插拔以后就会看到软件版本被更新到以下状态: version: V2J34S7 ...
分类:
其他好文 时间:
2019-11-20 19:31:33
阅读次数:
88
实现功能概要 这节和上一节的功能一样(只不过上节是利用Wi-Fi模块,这节是利用GPRS模块) 用户程序里面加入MQTT通信,执行用户程序的时候, 通过接收MQTT的升级命令实现升级. 凡是可以实现MQTT通信的上位机皆可控制单片机升级. 通信控制协议和上一节一样 快速测试(使用本人的服务器:测试准 ...
分类:
其他好文 时间:
2019-11-18 10:07:21
阅读次数:
99
一、嵌入式开发中为什么选择C语言? 首先嵌入式是在已有的硬件基础上,移植操作系统,而现在操作系统的内核都是用C实现的 二、为什么用C语言开发操作系统内核? C语言有三大特点(优点): ①C语言具有出色的可移植性,能在多种不同体 系结构的软/硬件平台上运行(单片机,ARM等) (出色的移植性: 1.一 ...
分类:
编程语言 时间:
2019-11-16 17:43:22
阅读次数:
147
hal库中keil5中编译的速度是比较慢的,相同情况下,每次都要编译的时候,比标准库是要慢很多的,因此就hal库编译成lib文件是一种加快编译速度的方法,当然也有其自身的缺点。一、步骤1、使用cubemx4.27做一个简单的系统,clock、rcc、sys、swd等配置好,其他可以不用配置。2、生成 ...
分类:
其他好文 时间:
2019-11-16 11:08:05
阅读次数:
205
EQU 给数字常量取一个符号名,相当于c中的define。 AREA 告诉汇编器汇编一个新的代码段。 SPACE 分配内存空间。 PRESERVE 当前文件堆栈按照8字节对齐。 EXPORT 声明一个标号具有全局属性,可被外部文件使用。 PROC 定义子程序,与ENDP成对使用。 DCD 以字为单位 ...
分类:
其他好文 时间:
2019-11-15 14:11:42
阅读次数:
72
STM32总共有8个定时器,TIM1,TIM8是16位高级定时器,TIM2,TIM3,TIM4,TIM5是通用定时器,通过设置可以用通用定时器TIM3来产生4路不同占空比的方波(PWM波)。我们使用的IO管脚为TIM3的通道1(PA0.6)、2(PA0.7) 、3(PB.00)、4(PB.01)。 ...
分类:
其他好文 时间:
2019-11-15 10:46:55
阅读次数:
110
实现功能概要 前面的版本都是,定时访问云端的程序版本,如果版本不一致,然后下载最新的升级文件,实现升级. 这一节,在用户程序里面加入MQTT通信,执行用户程序的时候,通过接收MQTT的升级命令实现升级 注意:BootLoader程序还是用以前的程序. 一开始设计这个升级篇的时候,我就规定好了大的框架 ...
分类:
其他好文 时间:
2019-11-14 10:12:25
阅读次数:
96
目前单片机种类繁多,而51 单片机作为最基础的一款8位单片机,其资源最少,同时也是最容易学习的一款单片机。学习51单片机的工作原理及其存储结构是十分有必要的。 单片机执行程序的过程,其实就是在执行我们编写的程序的过程(逐条执行指令),该执行过程可以看成是:取指令 分析指令 执行指令。 取指令:根据 ...
分类:
其他好文 时间:
2019-11-13 23:48:55
阅读次数:
136
PC就是程序计数器,就是指挥程序从哪里执行。如果是8位机,每个存储单元存放一个字节,指令有单字节、双字节和3字节。单片机复位时,PC=0000H,而后每执行一条指令,PC根据指令的字节数增加,如图:最前面的就是PC值 ...
分类:
其他好文 时间:
2019-11-12 17:24:25
阅读次数:
185
UART 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。 一、定义 UART是一种通用串行数据总线,用于异步通信。该总线实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信。 二、通信协议 UART作为异步串口通信协议的 ...
分类:
其他好文 时间:
2019-11-11 21:54:13
阅读次数:
99