![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32F1X
feiyingzaishi
这个作者很懒,什么都没留下…
展开
-
VoFa+软件使用记录
1)软件版本1.3.102)协议说明RawData: 最基本的通信协议,接收到什么,便打印什么,不做数据的解析处理,仅用于查看字节流数据。JustFloat: 本协议是小端浮点数组形式的字节流协议,纯十六进制浮点传输,节省带宽。此协议非常适合用在通道数量多、发送频率高的时候。FireWater: 本协议是CSV风格的字符串流,直观简洁,编程像printf简单。但由于字符串解析消耗更多的运算资源(无论在上位机还是下位机),建议仅在通道数量不多、发送频率不高的时候使用。————————————原创 2021-06-19 11:54:34 · 3229 阅读 · 0 评论 -
安装JLINK驱动出现the firmware of the connected J-Link does not support the following memory access
今天在安装J-LINK驱动的时候出现了点小问题。问题: 电脑能够识别到J-LINK这个驱动了,但是keil无法进行Debug。点了Debug后,出现了下图的错误后面也提示说dll internal ,原来是dll出现了错误。解决方法:https://blog.csdn.net/razor_et/article/details/81096518虽然这篇博文不是讲解这个错误,不过和他的解决方法是一样的。2、问题解决:解决方法,解压“Segger.zip”直接替换整个目录x..转载 2020-11-09 21:42:26 · 1504 阅读 · 0 评论 -
安装新版本KEIL5 或者升级Jlink固件后,总是提示固件更新的问题
1、问题产生现象安装新版本KEIL5 或者升级Jlink固件后,总是提示固件更新的问题2、解决方法1)先关闭KEIL2)在:\Keil_v5\ARM路径下,删除原来Segger文件夹,3)下载解决升级固件问题的SEGGER压缩文件;4)将该资源解压直接解压为Segger文件夹;5)然后复制步骤“4”到\Keil_v5\ARM路径下6)重新打开KEIL软件,download,发现可以解决“提示升级固件的问题”...原创 2020-07-31 09:58:04 · 5840 阅读 · 3 评论 -
FLYMCU 烧写STM32注意
注意:使用串口下载前,需要设置一下BOOT0和BOOT1,BOOT0接高,BOOT1接地就好,下载完后,可以设置回原来那样。都接地。1、在选择“不使用RTS和DTR”时,需要在BOOT置1的条件下,点击“开始编程”之后开始手动按下复位键;2、根据实际硬件选择“不使用RTS和DTR”或者“DTR的低电平复位,RTS高电平进BootLoader”等配置,根据实际硬件选择即可3、此外,如...原创 2020-04-26 08:54:36 · 9672 阅读 · 1 评论 -
STM32 串口DMA发送未发送完数据
在485通信中,利用DMA发送完成中断置位/RE接收,发现中断执行结束之后,还有两个字节未发送完,所以存在数据不能发送的问题发送完成中断产生后,还有一个字节没发呢。dma发送完成是指传输完成,dma将最后一个字节写入了发送寄存器。这时中断产生,最后一个字节还没发送。发送完成中断,并不代表数据都发出了,要用串口发送完成中断...原创 2020-03-06 16:49:09 · 1679 阅读 · 2 评论 -
STM32 PB3 PB4 PB5作为普通IO,用作SPI使用
#define W25X_SPI_XXX SPI1#define W25X_SPI_GPIO GPIOB#define W25X_SPI_SCK_CLK RCC_APB2Periph_SPI1#define W25X_SPI_CS_Pin GPIO_Pin_15//GPIOA#define W25X_SPI_CLK_Pin...原创 2019-11-17 15:02:23 · 6844 阅读 · 1 评论 -
stm studio和jscope使用感受
stm studio使用可以参考http://www.stmcu.org.cn/module/forum/thread-617512-1-1.htmlhttp://bbs.elecfans.com/jishu_712278_1_3.html1、刷新频率stm studio测试大概40HZ左右,jscope可以高达1000HZ2、变量显示stm studio添加显示变...原创 2019-10-16 20:49:02 · 895 阅读 · 2 评论 -
STM32 利用FreeMaster调试1
1、首先下载两个软件FMASTERSW25.exe(安装文件)FMASTERSCIDRV.exe(通信驱动文件)下载完点击安装即可2、采用Jlink调试首先可以参考下http://bbs.21ic.com/icview-2550628-1-1.html?_dsign=6f941d69https://blog.csdn.net/special00/article/deta...原创 2019-10-15 22:24:33 · 3527 阅读 · 2 评论 -
Jlink无法识别芯片
今天烧录一个程序之后,之后就无法烧录了,Jlink也无法识别芯片。(STM32F103C8T6的芯片配置,实际烧录GD32F103C8T6),在网上查找解决方法:1)http://bbs.eeworld.com.cn/thread-491375-1-1.html我碰到了类似的情况,那如果我把boot0=1,boot1=0,然后keil的这个设置界面上又能够识别出来jlink了,并且程序也能原创 2017-09-15 10:54:54 · 16037 阅读 · 3 评论 -
STM32: 实现AES 128-BIT加密算法 - 标准实现【转】
来自:https://www.brobwind.com/archives/1255在之前的文章“STM32: 实现Advanced Encryption Standard(AES) – 128-bit加密算法”中实现的加密算法只是为了解密特定的文本,目的性比较强,用此算法加密过的文本,无法使用openssl或者是网上提供的在线AES工具进行加密或者解密,这就相对地增加了破译的难度。...转载 2019-03-16 16:46:42 · 4129 阅读 · 1 评论 -
STM32 TIM1输入捕获测试输入信号的频率
测试芯片STM32F103C8T6,外部时钟1、输入捕获通道测试 TIM1的CH1N,无法进行输入捕获(估计是没找到其他原因,测试就也没有测试出来效果),直接改用TIM1的CH1通道进行测试,可以进行捕获中断测试;在用CH1的通道输入捕获配置时,必须TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;对此初始化,第一次测试发现这个参数...原创 2019-04-21 16:29:54 · 6143 阅读 · 1 评论 -
直接通过寄存器地址操作控制LED灯(STM32_01)
转载:https://blog.csdn.net/fanxp66/article/details/80214822一、硬件基础1、开发板:STM32-PZ6806L2、MCU型号:STM32F103ZET6(1)内核:32位 高性能ARM Cortex-M3处理器。时钟:高达72M,实际还可以超频一点。单周期乘法和硬件除法。(2)IO口:STM32F103ZET6: 14...转载 2019-04-20 13:02:22 · 542 阅读 · 0 评论 -
STM32高级定时器PWM输出方式说明
高级定时器1有5种计数模式:TIM_CounterMode_Up、TIM_CounterMode_DownTIM_CounterMode_CenterAligned1TIM_CounterMode_CenterAligned2TIM_CounterMode_CenterAligned3PWM输出有2种模式:TIM_OCMode_PWM1、TIM_OCMode_PWM2...转载 2019-05-07 14:03:06 · 7499 阅读 · 0 评论 -
Jscope的RTT模式
1.下载这几个文件,也可以在Jscope的安装路径下找到。将SEGGER_RTT.c,SEGGER_RTT.h,SEGGER_RTT_Conf.h添加进工程 添加缓存定义 char JS_RTT_UpBuffer[4096]; // J-Scope RTT Bufferint JS_RTT_Channel = 1; // J-Scope RTT Chann...转载 2019-07-13 10:16:42 · 4840 阅读 · 1 评论 -
STM32学习之Flash(主存储块、系统存储器和选项字节)详解
转载自https://blog.csdn.net/jhn199388/article/details/73770286说到STM32的FLSAH,我们的第一反应是用来装程序的,实际上,STM32的片内FLASH不仅用来装程序,还用来装芯片配置、芯片ID、自举程序等等。当然, FLASH还可以用来装数据。 自己收集了一些资料,现将这些资料总结了一下,不想看的可以直接调到后面看怎么操作就...转载 2019-07-29 13:57:35 · 3185 阅读 · 2 评论 -
STM32F0 、F1 在软件程序中写读保护选项字节(Option Bytes)
转载自:https://blog.csdn.net/Flyaswing/article/details/90578645单片机:STM32F030库:HAL库目标:在程序软件中修改读保护选项字节,这样程序下载进去之后就自动保护了,不用再在ST-LINK中修改选项字节了注意事项:写选项字节,除了解锁OB,还要解锁FLASH,开始只解锁OB,没解锁FLASH,一直调试不成功 ...原创 2019-07-29 14:04:49 · 5640 阅读 · 0 评论 -
STM32 Jlink烧录文件出现:Program (0x8000000 - 0x800B223) does not fit into selected flash sectors
问题:烧录时出现Program (0x8000000 - 0x800B223) does not fit into selected flash sectors ;程序是APP文件,和IAP合成之后,烧录出现的,之前合成是没有问题的;从Flash大小和RAM大小计算,都在合理的范围内问题原因:经查找发小APP的的配置里面的“0X8006000”写成了“0X80006000”导致错误的...原创 2019-09-18 09:05:02 · 12743 阅读 · 0 评论 -
Keil-MDK编译完成后代码大小
转载自:https://www.cnblogs.com/pertor/p/9484583.htmlCode 代表执行的代码,程序中所有的函数都位于此处。RO-data 代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。RW-data 代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。ZI-data 代表未初始化的读写数据,程序中定义了但没有初始化的...转载 2019-02-13 14:48:30 · 393 阅读 · 0 评论 -
STM32窗口看门狗和独立看门狗的区别,看门狗介绍及代码演示
转载自:https://www.cnblogs.com/pertor/p/9483445.html一、介绍:STM32看门狗分为独立看门狗和窗口看门狗两种,其两者使用调条件如下所示, IWDG和WWDG两者特点如下图所示: 独立看门狗的手册资料:窗口看门狗的手册资料: 应当注意:在窗口看门狗...转载 2019-02-13 14:44:15 · 520 阅读 · 0 评论 -
STM32 的CAN的关键点
1、关于屏蔽寄存器的初始化的处理//ext_id<<3对齐,见上图9,再>>16取高16位 CAN_FilterInitStructure.CAN_FilterIdHigh=((ext_id<<3) >>16) &0xffff; //设置标识符寄存器高字节。 CAN_FilterInitStructure.CAN_Filte...原创 2018-11-26 15:11:00 · 226 阅读 · 0 评论 -
CAN通信中终端电阻的作用
CAN终端电阻,顾名思义就是加在总线末端的电阻。此电阻虽小,但在CAN总线中却有十分重要的作用。CAN总线终端电阻的作用有两个:一、提高抗干扰能力,确保总线快速进入隐性状态。二、提高信号质量。提高抗干扰能力CAN总线有“显性”和“隐性”两种状态,“显性”代表“0”,“隐性”代表“1”,由CAN决定。图1是一个CAN收发器的典型内部结构图,CANH、C原创 2017-09-02 15:03:12 · 7311 阅读 · 0 评论 -
keil5 生成bin文件的方法
AXF是ARM芯片使用的文件格式,它包含bin代码外,还包括了调试信息。常见于手机软件编译生成的文件中。与AXF文件相似,经常会用到的是HEX文件,HEX文件包括地址信息,可直接用于烧写或下载HEX文件。然后明白了讲一下keil中如何生成bin文件。方法一:首先打开keil的选择,如何所示在run#1中输入如图内容fromelf.exe --bin -o ./obj/sty11.b转载 2017-09-11 14:37:12 · 3070 阅读 · 0 评论 -
STM32 串口的TXE和TX位说明
TXE是该寄存器为空,可以往里存放数据 TC是该寄存器中的数据已全部发送完成;http://www.openedv.com/posts/list/0/58919.htmhttps://wenku.baidu.com/view/fdae481db52acfc789ebc982.html转载 2017-09-22 16:36:29 · 3199 阅读 · 0 评论 -
stm32滴答时钟SYStick的优先级设定方法详解
以ST的V3.50固件为对象,:1. 滴答寄存器的定义和地址分配在内核.H文件中如下typedef struct{ __IO uint32_t CTRL; /*! __IO uint32_t LOAD; /*! __IO uint32_t V转载 2017-09-15 11:01:31 · 3587 阅读 · 1 评论 -
关于STm32加密【转】
摘要:知识产权的保护,如何让自已辛勤的劳动成果不被别人抄袭,采用有效的手段对IC加密是值得每一个设计者关注的问题。当然,有人说,没有解不了密的IC,的确,解密是一项技术,只要有人类在不断的研究,它就有破解的一天;但是加密后的IC会增加破解的难度与破解成本,当破解的成本大于收益时,自然就会使破解者望而却步。STM32芯片这两年销量很好,它的性能和价格都很不错,但如何对STM32进行加转载 2017-08-26 17:01:04 · 1505 阅读 · 2 评论 -
keil中函数大括号怎样显示加减号
这个叫代码折叠功能,如果你的keil版本支持,可以通过edit->outlining->show all outlining 开启这个功能->hide all outlining 关闭这个功能原创 2017-08-18 09:41:12 · 5196 阅读 · 0 评论 -
if else if的判断问题
当判断条件if和else if的判断含有共有的范围值时,谁在前面先判断执行谁,后续不执行 //测试if else语句 u8 choose = 20; u8 count = 2; //测试if else语句 if((choose >=10)&&(choose < 30)) { count++;//A处 } else if((choose >原创 2017-08-17 14:29:55 · 352 阅读 · 0 评论 -
泰勒级数实现正弦波
float temp = 0;float temp1 = 0;float temp_out;float temp_out_sin;float temp_out_sin1;s16 SIN_Taile(s16 position){s16 out = 0;Taylor_D = Taylor_1/Taylor_8_9;Taylor_Time1 = GetSysTime_原创 2017-08-09 22:54:25 · 1228 阅读 · 0 评论 -
KEIL出现error:Flash Download failed - "Cortex-M3"
安装完器件要下载烧录程序的时候,发现error:Flash Download failed - "Cortex-M3"这个是因为这里没有选择flash programming algorithm,但是这里没有对应型号的文件可选,原来这个文件在下载的pack中,但是软件没有自动加载,需要到软件的安装路径下面搜索.FLM文件,然后将搜索到的文件复制到软件安装路径下的\ARM\Flash转载 2017-09-21 13:12:17 · 5675 阅读 · 0 评论 -
keil55.24打开一个工程出现the project references devices,files or libraries that are not installed
新安装的keil5.24版本的软件,打开一个工程出现以下的问题。解决方案比较简单,就是Project.uvproj 扩展名后面加一个x,也就是变为Project.uvprojx,然后再打开就可以了。原因是因为:我们是夸版本打开,我们用的高版本去打开低版本,芯片数据库不支持,所以,我们加了X后,可以用最新的MDK SOFTware packs去重新设置参考:http://w原创 2017-09-21 13:30:34 · 6147 阅读 · 5 评论 -
【滤波器学习笔记】一阶RC低通滤波
一阶RC低通滤波从模拟到数字 本文整理自网络、《匠人手记》等书籍文章模拟电路低通滤波时域、频域软件低通滤波典型电路 图1 典型RC电路 直流、交流、脉冲信号都可以用它时域电容电流: Ic=dqdt=d(C∙Uo)dt=CdUodt基尔霍夫电压定律得: Ui=RCdUodt+UoUi的单位是伏特,转载 2017-10-09 19:03:15 · 13502 阅读 · 2 评论 -
STM32的TIM2的PWM的输出配置无效
1、今天测试发现,对TIM2的PWM输出无效,原来是TIM2的时钟写错了:RCC_APB2PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);应该改为RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);时钟写错了,导致配置无效,所有寄存器的值都为零,...原创 2018-11-26 12:45:24 · 2974 阅读 · 0 评论 -
STM32用PWM +DMA驱动 WS2812
参考的代码:------------------------------------WS2812B.c------------------------------------#include "WS2812B.h"/* Buffer that holds one complete DMA transmission * * Ensure that this buffer is big...转载 2018-11-10 09:33:08 · 15944 阅读 · 13 评论 -
STM32 获取寄存器的地址
转载:https://blog.csdn.net/jacklondonjia/article/details/78549042如果需要使用TX1的DMA传输,就会涉及到配置DMA的外设地址。在这里,外设地址应该是USART1的DR寄存器的地址。可是如何获取该寄存器的地址呢?现在实测了3种方式,都可以实现。方法1:直接查询手册中寄存器映像(map),USART1的DR地址为0x400...转载 2018-11-09 10:38:19 · 3598 阅读 · 0 评论 -
PM-F24 超小型・U型微型光电传感器[放大器内置]
电源电压 5~24V DC±10% 脉动P-P10%以下 消耗电流 15mA以下 输出 NPN开路集电极晶体管 ・最大流入电流:50mA ・外加电压:30V DC以下(输出和0V之间) ・剩余电压:0.7V以下(流入电流为50mA时)、0.4V以下(流入电流为16mA时) 输出:输出动作 入光时ON/遮光时ON 装备2种输出 反应时间 入光时:20μs以下、遮光时:100μs以下(...原创 2018-05-23 21:25:14 · 761 阅读 · 0 评论 -
STM32 PVD中断问题
void PVD_Init(void){ NVIC_InitTypeDef NVIC_InitStruct; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitStruct.NVIC_IRQChannel = PVD_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = ...原创 2018-04-19 14:54:42 · 5228 阅读 · 1 评论 -
STM32F103使用内部Flash保存参数
在我们应用开发时,经常会有一些程序运行参数需要保存,如一些修正系数。这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能。将这类数据存在指定的位置,需要修改时直接修改存储位置的数值,需要使用时则直接读取,会是一种方便的做法。考虑到这些数据量比较少,使用专门的存储单元既不经济,也没有必要,而STM32F103内部的Flash容量较大,而且ST转载 2017-12-24 23:37:40 · 3334 阅读 · 0 评论 -
STM32移植到GD32的问题---20170923
1、GD32采用ADC同步注入方式时,需要同时配置ADC1和ADC2;但是只有当ADC时钟分频为6时,才可以执行;大于分频6时,程序会卡死在ADC_GetBitState(ADC1,ADC_FLAG_EOIC)中;2、ADC1和ADC2同步注入时,出现ADC2通道的采样值一直为零。需要同时对ADC1和ADC2同时都配置,才能够采样的。(再对硬件板子重新焊接之后就好了)2.1 利用...原创 2017-09-21 20:08:35 · 9848 阅读 · 1 评论 -
测试算法对比
测试条件:开发环境:keil4芯片信号:STM32F103C8T6主频:64MHZ开方函数1、测试math_temp1 = SquareRootFloat(5.0f);float SquareRootFloat(float number) { long i; float x, y; const float f = 1.5F;原创 2017-08-09 22:52:28 · 724 阅读 · 0 评论