
STM32
STM32
Lee139499
这个作者很懒,什么都没留下…
展开
-
STM32的最大中断频率
STM32的最大中断频率原创 2023-02-01 23:03:47 · 1862 阅读 · 0 评论 -
Stlink固件更新问题“ST-Link is not in the dfu mode Please restart it“的解决方法
Stlink固件更新问题原创 2023-01-11 22:57:27 · 6605 阅读 · 3 评论 -
stm32使用PWM时,关闭PWM引脚会出现高电平解决方案
现在使用TIM3来产生PWM波形,并通过软件打开/关闭PWM以实现调制波形。做法是:打开:TIM_Cmd(TIM3, ENABLE);关闭:TIM_Cmd(TIM3, DISABLE);跟踪到TIM_Cmd之后,发现直接操作寄存器就可以了:TIMx->CR1 |= CR1_CEN_Set;这个问题算解决了。但是PWM关闭后,管脚电平是高电平,这不是我需要的……需要的是低电平。尝试关闭PWM后,加一行GPIO_ResetBits(GPIOC, GPIO_Pin_6);以把管脚设置为低电平。测试原创 2021-01-12 10:50:03 · 7136 阅读 · 3 评论 -
keil5打开工程文件显示空白bug
在打开某工程文件后显示空白且没有任何提示原因是因为当前工程文件所在多级目录太深且目录名字过长导致把工程文件移动到桌面,目录名称尽量改短即可打开原创 2020-08-28 15:13:08 · 9812 阅读 · 14 评论 -
KEIL5一种错误提示:parsing restarts here after previous syntax error } IRQn_Type;
编译F103C8t6时出现..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(298): error: #67: expected a "}" ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */..\..\Libraries\CMSIS\CM3\DeviceSu.原创 2020-07-30 14:58:41 · 13959 阅读 · 3 评论 -
keil5点击build,结果执行的是Rebuild
原因是在Project Option->Output->Create Batch File选项被勾选了,所以每次Build都会当成Rebuild运行,这个在编译输出界面有提示*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected....原创 2020-07-30 14:56:03 · 2316 阅读 · 0 评论 -
Keil5编译报错:Browse information of one or more files is not available
将编译产生的DebugConfig、Objects、Listing文件夹删去,然后重新打开工程编辑就不会弹出这个界面了原创 2020-07-28 10:26:22 · 4123 阅读 · 5 评论 -
STM32三种延时函数
这个比较简单,让单片机做一些无关紧要的工作来打发时间,经常用循环来实现,不过要做的比较精准还是要下一番功夫。下面的代码是在网上搜到的,经测试延时比较精准。//粗延时函数,微秒 void delay_us(u16 time){ u16 i=0; while(time--) { i=10; //自己定义 while(i--) ; }} //毫秒级的延时 void原创 2020-07-27 17:04:47 · 3064 阅读 · 0 评论 -
ADC多通道的理解
就是一个MUX,其实主架构只有一个ADC(或者DAC),但是输入端由一个ANALOG MUX。比如8通道ADC,可以选择8个通道中的任何一个作为输入源,根本不需要同时有8个ADC的。这样做很节约成本,当然要看你的应用。举个简单的例子,比如你要监控锂电池电压,就不需要用一个ADC专门干这个活,可以和其他ADC公用,1mS采样一次应该足够用来检测锂电池电压了。现在的ADC一般都是10bit(12bit), 1M的,那么对一个输入信号采样一次需要花费11*1uS=11uS,对8个通道的输入顺次采样的时间才不.原创 2020-06-08 22:14:28 · 11611 阅读 · 2 评论 -
STM32F4+DP83848以太网通信指南系列知识储备
本章为系列指南第一章,主要是介绍一下项目思路,并且尽可能列出从零开始着手开发这个项目过程中,所需要理解的各类知识点,关于这些知识点,如果需要更详细的介绍,请列为看官自行百度谷歌。STM32F407简介STM32F407主频168MHz,主频这个数值的意义可以这么理解:每秒执行168,000,000步简单指令,也就是每毫秒168,000次,每微秒168次。我们工业以太网进入实时通信后的数据传...原创 2020-04-26 23:10:05 · 4079 阅读 · 1 评论 -
data存储类型
DATA区域寻址最快,应该把经常使用的变量放在DATA区,但是其存储空间有限,DATA区除了包含程序变量外,还包括了堆栈和寄存器组。unsigned int data xx[8];BDATA区是DATA中的位寻址区,在这个区中声明变量就可以进行位寻址。unsigned int bdata status_byte;IDATA区使用寄存器作为指针来进行间接寻址,常用来存放使用...原创 2019-07-13 16:36:26 · 6012 阅读 · 0 评论 -
STM32中数据类型定义 U8 U16 U32解释说明
stdint.h 这里放着C语言的标准表达方式typedef signed char int8_t; typedef signed short int int16_t;typedef signed int int32_t;typedef signed __int64 int64_t;t...原创 2019-07-15 14:32:55 · 28246 阅读 · 0 评论 -
keil中include 头文件循环引用问题
在头文件中使用#ifdef和#ifndef是非常重要的,可以防止双重定义的错误。有时候,在b.h中会include "a.h",在"c.h"中会include "b.h"及include"a.h", 这时,如果不用ifndef/endif,就会包含两次a.h,产生错误。还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个...原创 2019-07-17 08:25:29 · 3509 阅读 · 0 评论 -
stm32f103和107区别
【主要区别】两者使用相同的stm32f10xxx reference manual,只是F107属于互联型设备,比F103多了OTG USB和Ethernet模块。【晶振区别】l通常电路板上,stm32f103采用8MHz外部晶振,stm32f107(互联型,STM32F10_CL)采用25MHz外部晶振(这时候默认时钟不用修改)。对应代码见V3.5.0版本固件库文件stm32f10x...原创 2019-09-19 17:34:11 · 11978 阅读 · 0 评论 -
STM32串口通信中使用printf和USART_SendData比较
1、printf和 USART_SendData稳定性都很高。前者实现格式化字符,字符串比较有优势,后者传送单个字符和指令比较合适。2、在复杂的串口通信协议实现中,建议printf()用作大文本及信息显示。涉及自定义帧头+校验的通信时,用USART_SendData实现单字符及控制命令。3、这两个占用代码量非常小,可以忽略,除非在FLASH严格的场合,目前ST的产品FLASH容量都足够大...原创 2019-09-19 17:38:51 · 5769 阅读 · 0 评论 -
STM32 F103 F407 F429 F767 芯片资源对比
原创 2019-09-21 14:25:54 · 17073 阅读 · 1 评论 -
STM32三种启动模式
所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。STM32上电或者复位后,代码区始终从0x00000000开始,三种启动模式其实就是将各自存储空间的地址映射到0x00000000中。(1)从Flash启动,将主Flash地址0x08000000映射到0x00...原创 2019-11-30 19:26:52 · 1260 阅读 · 1 评论 -
STM32八种IO口模式区别
(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出(8)GPIO_Mode_AF_PP 复用...原创 2020-02-29 19:25:46 · 2100 阅读 · 0 评论 -
STM32F107VC
STM32F107VCRAM:64KbFlash:256Kbtimets:7*16-bit2*WDGADC:16*12-bitDAC:2*12-bitIO:80SPI:3I2C:2USART+UART:3+2CAN2.0B:2Etherent MAC:yes原创 2020-02-29 20:00:10 · 733 阅读 · 0 评论