
单片机编程
文章平均质量分 50
大狮熊
Just do it!
展开
-
STM32L152xx通过串口 IAP在线升级(在程序中升级)固件,Bootloader+app
我用的芯片是STM32L152RET6 IAP(在程序中升级)一般是需要写一个Bootloader引导程序,对程序进行引导。但因项目需要,不能单独烧写bootloader程序,所以采用在程序中升级,通过读写Flash,跳转的方法,省去了单独烧写bootloader。(其实只是把Bootloader加入app中,在程序中去引导)IAP在线升级流程图:思路APP1:print(USART1...原创 2020-11-30 17:01:24 · 1880 阅读 · 5 评论 -
51单片机摇摇棒改字原理详解
https://blog.youkuaiyun.com/qq_43367031/article/details/83095583?tdsourcetag=s_pctim_aiomsg原创 2018-10-31 11:13:14 · 1941 阅读 · 0 评论 -
STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)
一、问题描述只要一打开UART4接受中断,串口就一直高速进入中断!!!!!无语这是我的中断服务函数,USRAT3为调试串口,执行程序,可以看见串口助手显示如下图:可以看到串口一直进入中断4,执行打印1,下放是1秒钟接收的数据量。。。。。。。呵呵呵呵呵呵呵二、发现问题通过查寻标志位,发现问题出现在中断溢出上,如下图:可以看见串口助手上的打印显示如下:终...原创 2018-10-21 15:41:17 · 12176 阅读 · 1 评论 -
STM32使用HAL库实现串口通讯——理论原理详细讲解
STM32使用HAL库实现串口通讯——理论讲解一、中断模式1.中断接收。1.1先看中断接收的流程(以 USART2 为例)在启动文件中找到中断向量USART2_IRQHandler找到USART2_IRQHandler的函数定义 可以看到这里又转到另一个函数里去了,再找下去:该函数的源码:/** * @brief This functio...转载 2018-10-18 21:30:35 · 9965 阅读 · 1 评论 -
Visual C++ 2010 Express使用教程
1、打开Visual C++ 2010 Express。界面如下:2、新建一个工程。点击“New Project…”,如图:3、在弹出的窗口下选择Visual C++下的CLR下的CLR Empty Project Visual C++,即Visual C++→CLR→CLR Empty Project Visual C++;然后在下方填入工程名字(name),工程位置(l...原创 2018-08-03 14:27:16 · 66315 阅读 · 17 评论 -
Visual C++ 2010 Express 下载及安装教程
1、首先下载安装包。下载链接:https://pan.baidu.com/s/1__GRnXSFYlZCO80-lW0FVA下载好后压缩包如图:2、解压下载好的压缩包。3、打开解压后的文件夹,找到setup.exe文件双击开始安装。4、选择运行。5、点击Next。6、选择我已接受,点击下一步Next。7、点击安装Install.8...原创 2018-08-03 11:01:25 · 174839 阅读 · 54 评论 -
8051单片机系统中,已知振荡频率为12MHz,用定时/计数器T1,实现从P1.1产生周期为2s的方波。C语言进行编程。
8051单片机系统中,已知振荡频率为12MHz,用定时/计数器T1,实现从P1.1产生周期为2s的方波。C语言进行编程。从P1.1输出周期为2s的方波,只须P1.1每1s取反一次则可。当系统时钟为12MHZ,定时/计数器T1工作于方式1时,最大的定时时间为65.536ms,满足1s的定时要求,方式控制字应设定为00010000B(10H)。定时50ms,计数值N为50000,初值X=65536-5...原创 2018-06-18 22:59:22 · 63080 阅读 · 8 评论 -
8051系统中,已知振荡频率为12MHz,用定时/计数器T0,实现从P1.0产生周期为2ms的方波。C语言
8051系统中,已知振荡频率为12MHz,用定时/计数器T0,实现从P1.0产生周期为2ms的方波。C语言进行编程。从P1.0输出周期为2ms的方波,只须P1.0每1ms取反一次则可。当系统时钟为12MHZ,定时/计数器T0工作于方式1时,最大的定时时间为65.536ms,满足1ms的定时要求,方式控制字应设定为00000001B(01H)。定时1ms,计数值N为1000,初值X=65536-1...原创 2018-06-18 22:41:04 · 53724 阅读 · 2 评论 -
keil、Proteus下载及安装教程
1、微信搜索公众号“软件安装管家”。2、关注公众号并进入公众号。3、点击左下方“软件目录”。4、找到需要安装的软件proteus和keil。5、点击进入,就有下载链接及教程。6、分享结束,亲,请好评,谢谢。...原创 2018-05-14 16:57:48 · 14420 阅读 · 5 评论 -
基于51单片机的自动门控照明系统
原创 2018-05-04 23:51:36 · 1231 阅读 · 2 评论 -
STM32--读写内部Flash
Flash模块组织存储器被组织为程序存储器模块,数据EEPROM模块和信息块。程序存储器块分为4 KB的扇区,每个扇区都是进一步分成16页,每页256字节。 程序存储器页面擦除该操作用于擦除程序存储器中的页面(64个字)。要做到这一点:●解锁FLASH_PECR寄存器 1.将PEKEY1 = 0x89ABCDEF写入编程/擦除密钥寄存器(FLASH_PEKEYR)...原创 2018-03-26 12:49:12 · 2307 阅读 · 5 评论 -
51单片机最小系统原理图、PCB及组成原理详解
单片机:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。先上原理图和PCB,原理介绍...原创 2018-04-07 09:40:54 · 169819 阅读 · 98 评论 -
程序不同变量存放位置
一个程序分为代码段、数据段、BSS段代码段存放程序中的指令数据段主要存放全局变量(已经初始化的)BSS段主要存放未初始化的全局变量局部变量放在栈里面,使用malloc申请的放在堆里面 ...原创 2018-11-04 10:31:13 · 432 阅读 · 0 评论