stm32
七 六 伍
分享一些日常学习经验和开源自己业余玩的项目,也就是当个记录笔记
展开
-
stm32定时器 + ADC + SDADC + DMA采样(项目记录)
最近在搞使用stm32F373的差分16位ADC(第一次用F3的SDADC 也遇到和很多坑,花了大半天的时间 磕磕碰碰的把一个个坑给踩了 )一:使用DMA,数据出不来。(定时器没配置好 )使用cube的配置截图如下:1:DMA的配置方式中使用Circular.2:...原创 2021-03-07 00:08:39 · 2691 阅读 · 6 评论 -
stm32的固件库下载
http://www.stmicroelectronics.com.cn/en/embedded-software/stm32-standard-peripheral-libraries.html?querycriteria=productId=LN原创 2021-02-22 09:50:38 · 903 阅读 · 1 评论 -
Jlink接口的Jtag和SWD接口定义
原创 2021-01-31 21:22:31 · 1479 阅读 · 1 评论 -
stm32 ADC采样的使用(最基本的方法 )
1:首先使用stm32cube 配置ADC的硬件配置uint8_t tx_Value[2000];struct ADC_Sample{ int ADC_count; uint32_t ADC1_Sample_data; uint32_t SDADC_Sample_data[]; } ADC;MX_ADC1_Init(); while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3原创 2021-01-10 15:47:05 · 4053 阅读 · 0 评论 -
SPI 程序
1、什么是SPI?SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线。2、SPI优点支持全双工通信、通信简单、数据传输速率块3、缺点没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据 可靠性上有一定的缺陷。4、特点1):高速、同步、全双工、非差分、总线式2):主从机通信模式5、协议通信时序详解1):SPI的通信原理很简单,它以主从方原创 2021-01-07 17:11:22 · 4583 阅读 · 0 评论 -
extern “C”的作用详解
今天在看stm32程序的时候,出现了一段这个代码:/* Define to prevent recursive inclusion -------------------------------------*/#ifndef __gpio_H ///*防止该头文件被重复引用*/#define __gpio_H#ifdef __cplusplus extern "C" { //#endif/* Includes ------------------------------------原创 2020-12-28 22:45:13 · 289 阅读 · 0 评论 -
STM32关于ADC测量出来的值不准的问题
今天使用ADC测量的时候 发现输出的值和万用表的电压值 一直有0.2的差别,不过跳动在0.005的跳动,也就忽略基准源的问题,直接接地 测量出来的电压也是0.00几的跳动。 网上找了很多资料。很多说要开启校准,可能在他们那个场景有用,不过在我这个场景没有用,计算公式是按照官方公布的公式,没有出错,纳闷了好一会,不过最后给他们都乘以了一个比值电压表2.8/adc输出3.0 = 0.985 后续adc测量出来的电压都乘以这个比值,感觉都和万用表对的上。...原创 2020-12-26 23:15:07 · 12959 阅读 · 5 评论 -
如何把uint32_t转换成成uint8_t
因为16位ADC系统的函数定义的是uint32_t(长int类型) 我们的串口发送是要发送char类型(uint8_t) 这就需要做一个转换如下: AD_Value[8 + ADC.ADC_count*4]= ADC.ADC1_Sample_data & 0x00FF; AD_Value[9 + ADC.ADC_count*4]= (ADC.ADC1_Sample_data & 0xFF00)>>8 ;注意 uint8_t AD_Value[];ADC.原创 2020-12-24 14:39:54 · 4829 阅读 · 0 评论 -
implicit declaration of function 警告解决方法 (函数的隐式说明 项目)
今天在编译的时候,发现出现这个问题 implicit declaration of function是因为函数没有在头文件(.h)定义,这就导致编译的时候没法正确生成.o文件 (有点低级的错误)原创 2020-12-23 23:47:24 · 8687 阅读 · 0 评论 -
stm32 关于tim定时器定时使用的问题(项目)
我们不只是分享一些基础知识 也分享一些项目中运用的一些功能知识 当然具体的内容 作为最基本的职业道德是不可能分享出来的。由于项目需要对ADC精确的按照一个频率采集,然后使用usb2.0发送出去,所以就需要它们之间有很好的准确度,我的想法是 定义两个定时器(当然一个也可以 不过由于定时器过快 usb2.0在发送数据的时候 会出问题咯 数据没发送完 新一轮的定时中断又来了)目前我这边使用100K的速度去收集ADC出来的数据usb2.0这边使用100hz的速度发射给计算机,就是说每10..原创 2020-12-23 23:42:26 · 837 阅读 · 0 评论 -
J-LINK解锁被锁死芯片
1:开始菜单栏 找到如下图选项2:在选中自己芯片的型号原创 2020-12-23 21:35:25 · 990 阅读 · 0 评论 -
st-link下载的问题
*以前在公司用的时候,我一直喜欢用j-link来下载程序,最近为了省钱买了两个st-link用,发现st-link下载还是存在很多的问题,很不稳定,经常要按下复位键,折腾多了还容易把芯片锁住,导致烧录的时候,一直显示没有flash,折腾了我一会,记录下。1、原因是:芯片处于休眠的状态,解决办法是使目标板退出休眠,即按住reset键再下载程序,看到USB通讯灯闪后一小会儿(自己把握)后放开reset就能看到程序下载进去了,不行就多试几次,成功一次后面就正常了(有时还是不行,多试几次几次又可...原创 2020-12-23 21:31:43 · 1349 阅读 · 1 评论 -
STM32-ADC学习-HAL库(基础篇)
STM32CubeMX配置ADCs_Common_Settings(ADC基础设置) Mode(工作模式)Independent mode(独立模式):在同一引脚上仅有一个ADC在采集模拟信号ADC_Settings(ADC设置) Data Alignment(数据对齐)Right alignment(数据右对齐)、Left alignment(数据左对齐)Scan Conversion Mode(扫描模式)ENABLE(使能)、DISABLE(禁止)#当有多个通道需要采集信号时必须原创 2020-12-23 20:49:15 · 3302 阅读 · 0 评论 -
stm32 关于定时器TIM的使用(两个定时器)
STM32的定时器有着非常丰富的功能, 输入捕获/输出比较,PWM,中断等等。是我们学习STM32最频繁使用到的外设之一.楼主是用的是HAL来开发 记录一下。-一: 使用stm32cube 配置定时器。(我这里配置了两个定时器 TIM3 和tim4 这里不说cube的使用方法了)tim3 我配置了10ms的定时。注意点一:定时器配置时间的时候 你要注意你程序的执行时间,不要小于你程序运行的时间。注意点二:尽量不要在定时器中运用 for形成的的delay延时函数,最好HAL_Delay...原创 2020-12-23 16:28:37 · 13401 阅读 · 2 评论 -
关于stm32 HAL库的学习 从官方例子开始
我们在使用stm32的,大部分人是根据开发板的例子开发的,但是这样有很大的局限性,我们在更换不同型号的芯片的时候,就会遇到一些问题,所以我们最好学会stm32cube的st公司自己出厂的配置工具,学会使用HAL库函数,要跟上时代咯,官方的例子,在如下的目录中,自己可以去查看。...原创 2020-12-23 14:09:48 · 2269 阅读 · 0 评论 -
stm32中的hal库 中MSP的含义
MCU Specific Package 单片机的具体方案MSP是指和MCU相关的初始化,举个例子就可以理解:比如串口的初始化1、我们要初始化和MCU无关的东西:例如串口协议,其中包括波特率,奇偶校验,停止位等等,这些设置和使用什么样的MCU没有任何关系,可以使用F1的MCU,也可以是F2…F4,甚至是PC上的串口。所以就把串口抽像成为一个“串口”。2、有了抽像的串口,这个“串口”就要在MCU上进行承载,用STM32进行承载,PA9做为发送,PA10做为接收.MSP就是要初始化PA9,PA10。配置原创 2020-12-23 12:35:25 · 3126 阅读 · 1 评论 -
使用stm32cube配置GPIO
今天记录一下最基础的关于GPIO的学习一:使用stm32cube配置(怎么使用stm32cube的 看我前面一章 有详细的介绍)1.1在芯片图表面 选择要配置的引脚 最基础GPIO直接点击就好了,配置需要输出还是输入模式,1.2配置一下GPIO的输出模式IO引脚有集中模式 开漏 推免 上拉 下拉,这几种模式,不懂的具体看看模电书,或者百度一下。如下图 PA1 configuration的配置。我设置的是下拉,具体要看你如何使用。1.3 生成工程。(怎么使用stm32cube的原创 2020-12-22 23:28:32 · 940 阅读 · 2 评论