HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_DMA_Init();MX_ADC_Init();MX_LPUART1_UART_Init();MX_USART1_UART_Init();MX_RTC_Init();WorkFinished=0;//工作没有完成while(1){LED1_ON;LED2_ON;LED3_ON;HAL_Delay(
原创 2019-06-07 21:07:06
10000+阅读
STM32中断(以stm32f103c8t6为例) stm32中断介绍stm32外部中断配置 stm32中断介绍中断:在正常运行程序时,由于触发了某个条件,暂停运行目前正在运行的程序,转而去执行另一个程序中断优先级:中断优先级有主优先级和子优先级,当同时触发了两个中断时,CPU会先判断主优先级,如果主优先级一样,则比较子优先级。优先级高的程序将先执行。 当执行一个中断程序时,可以在中断执行的程序
转载 2024-07-26 11:02:24
140阅读
目录一、STM32中断概述二、外部中断控制器EXTI三、按键中断四、串口中断一、STM32中断概述 处理器中的中断        在处理器中,中断是一个过程,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中止当前程序的执行,转而去为处理紧急的事件,待处理完毕后再返回被打断的程序处继续往下执行。中断在计算机多任务处理
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。2)SRAM = 芯片内置的RAM区,就是内存啦。3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没
原创 2022-01-12 15:23:09
76阅读
低功耗模式 降低系统时钟速度 不使用A...
转载 2017-08-13 17:07:00
217阅读
2评论
stm32的加密有很多方法,利用ID号码加密,读保护加密,这些方法都是最常见的方法,也容易被破解。我在想,能不能利用PCB硬件参数的差异,通过校准保存参数,然后让程序严格按照保存的参数去运行,当然要考虑环境(例如温度)对参数的影响,加一些补偿算法。如果没有校准过程,硬件参数偏差大的板子运算精准度很差,甚至运行异常。由于硬件有差异,每块板子校准出来的参数都有偏差,这样即使别人拷贝出Hex文件,放到他
转载 2024-03-18 20:56:20
7阅读
简介:1、中断系统中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源中断嵌套:当一个中断程序正在运行时,又有新的更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序
转载 2024-07-11 11:32:52
422阅读
今天在进行软件仿真时,发现无法在逻辑仿真器中输入要观察的IO口,原因是Debug选项下的配置问题。默认的配置是:Dialog DLL: DCM.DLL Parameter: -pCM3改成以下配置即可进入逻辑仿真:Dialog DLL: DARMSTM.DLL Parameter: -pSTM32F103VC注:进行逻辑仿真时,输入PORTB.5表示对GPIOB的第5引脚进行仿
原创 2015-04-07 12:05:36
2241阅读
 文章目录超声波测距原理HC-SR04工作原理STM32实现驱动1.引脚的配置2.时序控制3.时间差测量4.如何将距离测出来 超声波测距原理利用HC-SR04超声波测距模块可以实现比较精确的直线测距,其测距原理图如下: HC-SR04的一端发出超声波,接触到反射物后反射,被另一个端口接收到,所以只要知道发射和接收的时间差,就可以根据声波传播的速率算出HC-SR04和反射物直接的
参考资料:半主机模式和_MICROLIB 库 - jack
转载 2021-08-01 14:40:52
1041阅读
IAP:在线升级代码 ,通俗的讲就是通过USART,IIC,或者SPI,USB等等,方式,在程序中升级程序,一般用在远程升级,或者是在PCB板子都安装到模具之后还需要升级代码,这样我们就需要,通过IAP的方式来升级。软件代码托管码云地址:https://gitee.com/zyzp/stm32UartIAP开发环境:MDK-V5,stm32cubeMx,SecureCRT8硬件平台:stm32f1
转载 2024-05-09 11:06:52
62阅读
STM32最小系统板电路知识学习单片机最小系统是指用最少的电路组成单片机可以工作的系统,通常最小系统包含:电源电路、时钟电路、复位电路、调试/下载电路,对于STM32还需要启动选择电路。总之,刚开始如果不太懂电路的话,就抄别人的电路,然后自己拼凑。下图为stm32c8t6经典电路原理图 文章目录STM32最小系统板电路知识学习一、电源转换电路二、JTAG/SWD调试接口电路三、时钟电路四、复位电路
GPIOx_CRL(x=A~E) 地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址 GPIO通用输入输出8种工作模式 1.浮空输入模式: (1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时 (2)STM32复位之后默 ...
转载 2021-04-08 13:51:00
891阅读
2评论
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件。 第三步,新建一个main.c文件,并添加到
转载 2023-06-19 15:27:24
969阅读
stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈 文章目录stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈前言码农工程师,人狠话不多,大家多看图和代码!!!一、准备工作cubemx配置dma初始化的一个注意点二、拆解freemodbus1.porttimer.c文件不再使用(不使用定时器判断接收完成),接口
转载 2024-03-17 00:43:12
1171阅读
1点赞
1评论
一、SysTick基础简介:SysTick系统定时器是 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3
转载 2024-05-16 14:20:13
528阅读
总线矩阵  上图为stm32f4的总线矩阵,其中主控总线有8条,被控总线有7条,主设备和从设备通过各自的总线两两相交连接,图中两条总线相交且为圆圈的地方,表示这两条总线对应的主设备可以访问从设备,如I总线(指令总线),只有跟 M0、M2和M6这三根被控总线交叉的时候才有圆圈,就表示I总线只能跟这三根被控总线通信,这样就可以知道stm32f4的启动有三种分别是FLASH、内部SRAM、外部存储FSM
在嵌入式设备中,常涉及到低功耗下的串口通信,本文以STM32L4作为硬件平台,讲解3种低功耗下的串口通信,希望对做低功耗的嵌入式开发者有所启发或帮助。笔者才疏学浅,难免有错误或遗漏之处,望读者能不吝指正。下文所涉及的低功耗模式都是指STM32停机模式,在该模式下PLL停止工作,仅LSI和HSI继续运行(进休眠前已经打开的话),所有IO状态、内部RAM数据保持不变,所有外部IO中断、内部RTC定时
韦东山 数码相框 项目学习(三)freetype的移植要把freetype移植到STM32MP157上,我们主要完成四步源码下载解压配置、编译对应文件复制到对应目录一、源码下载解压源码的下载可以进入去https://freetype.org/这个网址进行下载,本次移植我们使用的是2.4.10版本,然后将下载下来的压缩包上传到服务器。然后执行tar -jxvf freetype-2.4.10.tar
简介IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。通常实现 IAP 功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(
转载 2024-05-03 13:40:25
176阅读
  • 1
  • 2
  • 3
  • 4
  • 5