STM32F Cortex-M4
weixin_43313697
这个作者很懒,什么都没留下…
展开
-
FFT(快速傅里叶) c语言版
#include <math.h> #include <stdlib.h> #define N 1000 /*定义复数类型*/ typedef struct{ double real; double img; }complex; complex x[N], *W; /*输入序列,变换核*/ int size_x=0; /*输入序列的大小,在本程序中仅限2的次幂*/ double PI; /*圆周率*/转载 2020-06-02 20:02:56 · 555 阅读 · 0 评论 -
关于stm32f1使用ST官方DSP库中的FFT方法
先分享一下ST官方基于F1的DSP固件库,自从ST推出F4系列的DSP固件库之后,网上好像很难找到原来F1系列的DSP固件库了。链接:https://pan.baidu.com/s/1S5h2Ti3O1tuLzRxN-SJYtg 密码:yzxv 。也可自行网上搜索“UM0585”。此固件库中我主要用到了FFT库函数,只能使用基4的FFT运算,即64、256、2014这样的点数。而且输入输出的数据只能是整数,所以精度上可能不太高,但是运算速度确实很快,可以参见ST说明文档里的运行时间。具体使用请先参考h原创 2020-06-02 19:50:58 · 1328 阅读 · 0 评论 -
Keil MDK编译器的数据类型定义
对于Keil MDK编译器的数据类型定义还是很模糊,主要就是区分不了short int、int、long 和long int占用多少字节。为了得到一个权威的答案,改用编译器自身得出。一、先定义几个变量,用于存放各数据类型的字节数。//#include<LPC214x.H>#include<stdio.h>unsigned char a,b,c,d,e,f,g;ma...转载 2020-04-22 13:08:52 · 2316 阅读 · 0 评论 -
修改system_stm32Fxx.c文件,启动内部晶振代码
`从启动文件上分析,该函数在reset复位之后,进入main主函数之前,芯片调用该函数进行系统时钟的初始化和设置,对这段代码进行修改,就能实现启动内部晶体了。``void SystemInit (void){/* Set HSION bit */RCC->CR |= (uint32_t)0x00000001;#if defined (STM32F031) || defined (S...原创 2020-04-10 11:00:42 · 443 阅读 · 0 评论 -
stm32起动文件详解
https://www.cnblogs.com/wenshinlee/p/8859227.html原创 2020-04-10 09:23:08 · 122 阅读 · 0 评论 -
用keil ARM编译提示 warning: #1-D: last line of file ends without a newline
出现此错误时,在错误行(即文件的最后一行)回车后还要保证是在第一列,新一行不能有空格等空字符才能不出此警告。原创 2019-07-24 14:19:51 · 583 阅读 · 0 评论 -
STM32之SWD连接配置说明
SWD编程说明转载 2019-07-21 00:02:04 · 2133 阅读 · 0 评论 -
STM32五个串口同时收发函数配置
https://blog.csdn.net/qq_36958104/article/details/94573330#include "user_usart.h" #include "stm32f10x_usart.h" /*使用microLib的方法*/ /* int fputc(int ch, FILE *f){ USART_SendData(USART1, (...转载 2019-09-06 17:45:40 · 1011 阅读 · 0 评论 -
STM32串口通信配置(USART1+USART2+USART3+UART4)
https://www.cnblogs.com/pertor/p/9488446.html一、串口一的配置(初始化+中断配置+中断接收函数)1 /*=============================================================================== 2 Copyright: 3 Version: 4 Author: ...转载 2019-09-06 18:00:30 · 4590 阅读 · 2 评论 -
关于STM32 利用IO口模拟串口实现数据通信
网上有好多关于利用IO口来实现串口数据收发的实例,这种方法的实质都是可以应用于任何一款微处理器上,而不仅仅局限于stm32。有相关的源代码链接参考:https://github.com/TonyIOT/SoftWareSerial当然,如果成本要求不高,可以利用串口扩展芯片是最方便的,如CH438,WK系列芯片等。IO口模拟串口的一些基本原理,阐述如下:STM32单片机一般少则3个串口,多...转载 2019-09-12 08:56:37 · 3565 阅读 · 2 评论 -
STM32 IO模拟实现软件串口
最近项目中STM32的串口资源紧张,于是使用IO口进行模拟串口,现进行整理记录。实现思路IO口模拟串口的思路也比较简单,一切按照串口协议进行操作即可。对于发送,计算好不同波特率对应的延时时间进行数据发送。对于接收,稍微复杂。通过外部中断检测接收管脚的下降沿,检测到起始信号后开启定时器,定时器按照波特率设定好时间,每隔一段时间进入定时器中断接收数据,完成一个字节后关闭定时器。测试D...转载 2019-09-12 09:07:08 · 2497 阅读 · 1 评论 -
STM32CubeMX代码生成和点亮LED
转载 2019-09-15 11:00:24 · 133 阅读 · 0 评论 -
stm32与绝对式编码器的ssi接口进行通信
在这里插入图片描述原创 2019-09-20 10:01:51 · 7910 阅读 · 4 评论 -
stm32 浮点数问题
http://www.openedv.com/posts/list/40175.htm由于我后面的课题需要涉及较多的浮点运算,只熟悉f103,它不带FPU,所以软件浮点算法就显得很重要了。这几天在做些小研究和测试。今天又仔细研读了谭浩强的C语言书的数据类型章节,上面有说到c编译系统总将float类型转换成double类型来进行浮点运算,然而一般应用中7位有效数字的占32位的float类型已基本...转载 2019-10-09 20:48:59 · 9231 阅读 · 0 评论 -
STM32启动文件选择的区别
说的直白点就是以下区别,在选择启动文件的时候有选择性区别!startup_stm32f10x_cl.s互联型的STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_hd_vl.s 大容量的STM32F100xxstartup_stm32f...转载 2019-07-23 17:00:37 · 419 阅读 · 0 评论 -
MDK编译出现rror: L6236E: No section matches selector - no section to be FIRST/LAST.错误的解决方法
MDK编译时出现.\Objects\TIM_TEST.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.的错误,就说明工程中缺少系统的启动文件。说明:STM32L1XX_MD ————> Ultra Low Power Medium-density devices: STM3...转载 2019-07-23 16:45:25 · 2755 阅读 · 0 评论 -
编译器内存对齐和_align的使用
https://blog.csdn.net/yhl_sophia/article/details/83375859Strlen和Sizeof的区别Strlen —— 获取能容纳所建立的最大对象的字节大小,一般在编译时就计算好了长度大小,故不能用来返回动态分配时的大小Sizeof —— 返回字符串的长度大小,在运行时计算,返回的长度不包括NULL编译器的内存对齐问题成员对齐的规则:每个...转载 2019-06-15 16:14:16 · 398 阅读 · 0 评论 -
STM32中的常量数组的首地址如何指定FLASH的某一个地址
https://blog.csdn.net/yifeng0710/article/details/74940909unsigned char Smile[153600] attribute((at(0x08010000))) = {此处写数据};const unsigned char gImage_Cry[153600] attribute((at(0x08035800))) = {此处写数据...转载 2019-06-24 16:27:41 · 2380 阅读 · 0 评论 -
利用STM32单片机串口发送字符串
最近由于要调试一个SMS发送短信的模块,该模块需要发送一系列AT指令,且需要字符串发送,但是STM32官方给的usart.c中并没有直接发送字符串的函数,因此写了一个发送字符串的函数。其实发送字符串的本质还是发送一个个字符,所以只需在字符串结束标志之前,循环发送字符即可。不罗嗦,上程序。//程序功能:利用串口发送一个字符串// 参数:USARTx USART编号 可取 USART1、USAR...转载 2019-06-28 09:25:07 · 12232 阅读 · 2 评论 -
STM32中 关于液晶字符 表示字节数的计算规律
https://blog.csdn.net/qq_16435149/article/details/78614861PCtolcd2002提字库的字节计算方法原子程序里有字库字节的计算公式,如下u8 csize=(size/8+((size%8)?1:0))*(size/2);在使用PCtolcd2002字库提取软件提取字库时,是如图从第一列开始向下每取8个点作为一个字节,最后向下不足...转载 2019-06-28 16:52:08 · 819 阅读 · 0 评论 -
怎么使用stm32写IAP的bootloader和APP
Stm32的bootloader和App的编写注意事项1、 怎么分配bootloader和app的空间2、 怎么得到数据和写入flash3、 怎么从bootloader跳转到app4、 怎么设置App的中断向量5、 App中怎么生成bin文件6、程序执行的流程1、怎么分配bootloader和app的空间因为我用的是stm32f103c8t6,它的flash的大小是64k,所以把它...转载 2019-07-10 17:54:24 · 127 阅读 · 0 评论 -
关于STM32的HTTP模式GET方法的远程升级(一 概述)
https://blog.csdn.net/u013184273/article/details/85305078https://download.csdn.net/download/u013184273/10881751https://blog.csdn.net/u013184273/article/details/85306031转载 2019-07-15 17:54:34 · 1313 阅读 · 0 评论 -
使用 STM32 通用 Bootloader ,让 OTA 更加 Easy
最新 RT-Thread 发布了一款 STM32 系列的通用 BootLoader,有兴趣的小伙伴可以用用,我试了下,挺方便的。RT-Thread 通用 Bootloader 有如下特点:以 bin 文件的形式提供,无需修改即可使用资源占用小,ROM 最小只需要 16KB,最大 32KB适用于多系列 STM32 芯片(目前支持 F1 和 F4 系列 )支持各种 SPI Flash 存储固...转载 2019-07-15 17:59:21 · 242 阅读 · 0 评论 -
STM32使用GPRS远程更新程序
视频介绍了STM32F030使用GPRS模块通过GPRS网络从服务器上下载程序,使得单片机能在线升级,不用拿着仿真器去现场给单片机下载程序。如果单片机程序有版本更新可以使用tftpd32直接上传程序到服务器,非常简单好用。废话不多说直接看视屏视频地址:建议选择超清模式观看http://player.youku.com/player.php/sid/XMzM4Njg5OTA0OA==/v.swf...转载 2019-07-15 18:04:05 · 2323 阅读 · 1 评论 -
STM32F407开发板的HTTP模式IAP远程升级之官方例程移植
https://blog.csdn.net/wbdxz/article/details/95352263背景:在使用RT-Thread RTOS的时候发现官方提出了一种通用的BootLoader方案,支持F1和F4系列的芯片硬件资源:正点原子stm32f407zgt6探索者开发板,片上Flash(ROM)大小为1024KB,RAM大小为192KB,板载一个SPI Flash W25Q128...转载 2019-07-15 18:05:58 · 1072 阅读 · 0 评论 -
LWIP协议栈实现POST方法
http://blog.sina.com.cn/s/blog_b315f69b0102w534.html转载 2019-07-15 18:34:42 · 1248 阅读 · 0 评论 -
STM32F 远程升级OTA 应用总结
https://blog.csdn.net/fengweibo112/article/details/878588481.概述STM32具有IAP自编程能力,能实现OTA功能。OTA代码由Bootloader和APP组成。在设计时,应尽可能的简化Bootloader功能。以下所有的阐述在STM32F4上已实现。2.实现思路把单片机内部flash分为3个区域,分别储存“bootloader”...转载 2019-07-15 19:03:06 · 2555 阅读 · 0 评论 -
ST-Link不能下载程序的几种解决办法
一直在用J-LINK,最近改用ST-Link,出现了不少无法下载程序的情况,这里列出几种解决的办法(针对STM32F103系列):1#是不是你没有选择Flash算法?什么都没有加的话,会提示“找不到Flash算法”的哦2#是不是你JTAG下载了?赶紧调回SW下载。3#ISP下载用户有的时候会不小心把PA13 or PA14的SW功能给关了,这时候ST-Link会显示“no SW-DP ...转载 2019-07-16 10:25:44 · 9968 阅读 · 0 评论 -
MDK编译出现*.axf: Error: L6218E: Undefined symbol 问题解决方法
https://blog.csdn.net/niliushanls/article/details/50498875引文参考此贴写成,原帖链接 http://blog.csdn.net/yx_l128125/article/details/9231385在使用MDK编译工程时出现了如下错误,test.axf: Error: L6218E: Undefined symbol SystemInit...转载 2019-07-23 16:40:50 · 34077 阅读 · 1 评论 -
内存对齐,关于__align(n)的解析
https://blog.csdn.net/qq_33658067/article/details/77192069__align__align 关键字指示编译器在 n 字节边界上对齐变量。__align 是一个存储类修饰符。它不影响函数的类型。语法__align(n)其中:n是对齐边界。对于局部变量,n 值可为 1、2、4 或 8。对于全局变量,n 可以具有最大为 2 的...转载 2019-06-15 16:06:02 · 556 阅读 · 0 评论