- 博客(21)
- 收藏
- 关注
原创 STM32F103C8T IAP对应的应用程序
例子代码里面需要做的有主要有两个,修改程序的首地址,还有就是中断的重定向。需要打开USER_VECT_TAB_ADDRESS宏定义需要定义中断向量的偏移地址需要生成bin文件$K\ARM\ARMCC\bin\fromelf.exe --bin --output=Bin@L.bin !L最后可以编译,找到bin文件,通过y-modem下载就好了。...
2021-12-18 14:31:45
615
原创 STM32F103C8T的IAP设计
(一)例子代码里面的ReadmeIAP占用FLASH低位段的PAGE0-PAGE7,应用程序占用了PAGE8以上的代码。(二) STM32F103C8T上的代码移植例子里面的代码是基于大容量的芯片,有几个地方,需要针对所使用的MCU来进行修改。先把代码从例子代码里面COPY过来,具体有以下几个文件:并加入到工程文件中,进行编译,会发生一堆的错误,比如头文件没有,某个变量没有,define没有找到,没有关系,一个一个的搞定。在main.h里面加入如下,定义了UartHandle变量指向到hu
2021-12-18 14:16:25
311
原创 MCUXpresso RT1010 SHELL例子学习
MCUXpresso RT1010 SHELL例子学习导入SHELL例子,要点击左下的DEBUG进入调试模式,全速运行,使用Tera Terminal调试,波特率115200。可以使用命令行来打开和关闭一个LED灯。代码如下:/* * Copyright (c) 2016, Freescale Semiconductor, Inc. * Copyright 2016-2017 NXP * * All rights reserved. * * SPDX-License-Identifi
2021-12-16 21:46:36
355
原创 MCUXpressor初探(一)
MCUXpressor初探(一)最近由于工作的原因,拿到了NXP的一片RT1010的开发板,然后下载了配套的开发工具MCUXpressor,发现还是有不小的进步,外设,管脚的定义,现在也有了可视化了,还算方便。管脚定义使用的外设用了绿色,而且非常的详细,如下:ALT功能也非常详细的点出来了。MCU全局管脚定义和外设全局图:PIN_MUX在右边的.H .C详细介绍了时钟定义另外还有一个是外设驱动功能,类似ST Cube,可以在配置工具里面选择。...
2021-12-16 21:35:12
8454
原创 2021-10-30
STM32外部计数器的使用1. 功能有的时候主要用于数一下外部脉冲的个数,比如计算风机转速的时候。2. 配置STM32Cube中的配置如下,只需要指定Slave Mode和Trigger Source,注意观察PIN Map的变化,这可以看到管脚的位置,其他保持不变。3. 代码一段普通的代码如下:/*** @brief This function handles System tick timer.*/void SysTick_Handler(void){ /* USER COD
2021-10-30 12:47:26
145
原创 关于Cat1/2/3的科普文章
科普:Cat.1火了?它是从哪来的?CAT1, cat m, ASR RDA cat 1http://www.elecfans.com/d/1223794.htmlCat.1一夜井喷,它能不能成为物联网最靓的仔?https://www.sohu.com/a/384067153_160923
2020-11-03 08:51:04
923
原创 利用花生壳来调试4G网络模块
背景朋友有个项目让我评估一个方案的可行性:要用到网络摄像机,还有串口透传,买了一个网络模块,用到了移远的EC20 PCIE模块,并且集成了WIFI和一些基本的外设。花生壳软件新建一个映射,绑定内网的主机和端口号,并激活开启这个映射,此时供外网访问的IP就生成了。供外网访问的IP地址以及域名如下,端口号为13599。4G网络透传模块集成了两个网口,用于网络摄像头,一个WIFI,用于配置,还有一个串口,用于透传。使用指南:WiFi热点: BOJINGnet_XXXXXWiFi密码:1234
2020-10-05 21:23:06
1428
1
原创 STM32F103R8T-ADC利用DMA读取采样值
1. 背景有些应用,需要不停的扫描ADC通道,不需要MCU介入,直接把采集到的数据存放到固定的数据池里面,STM提供了DMA控制ADC来完成这个操作。2. ADC Cube配置选择通道IN0,使能Countinuous Converstion Mode。在DMA Settings里面新增ADC1 DMA通道,MODE选择Circular。3. 代码编写利用Cube工具自动生成代码在初始化的时候,增加一句函数,其中adc_volt是32个16位的数据,用于保存adc采集的值,adc在采集完成
2020-08-15 16:30:02
969
原创 基于STM32F103R8TMCU的USB CDC UART工具
1. 背景现在电脑上全是USB接口,但是传统的嵌入式设备,由于硬件简单,还有串口,因此USB转串口还是很有必要的。这里,利用一个STM32F103R8T最小系统板,做了一个USB转串口的小工具。2. STM32Cube系统配置晶振配置:使能SWD调试接口还有Systick,这样可以使用HAL_Delay()函数了。配置定时器,使用内部的CLOCK,分频器为24,周期为5000,这样,定时器溢出时间就被设置为5ms。串口的配置,使能中断还有DMA。USB的使能,并设置为CDC功能。
2020-08-15 12:02:39
978
1
原创 STEVAL-MKI109V3评估板 PART2 - LPS27HHW的应用
1. LPS27HHW介绍由于一个电子烟的项目,研究了这个基于MEMS的压力传感器,测量范围:260-1260hPa,并且是防水的。应用场合除了电子烟,还有其他的比如水深检测。2. 内部结构3. 原理框图传统的桥式,多路选择,模拟前端,ADC,数字逻辑,I2C接口,算法里面,使用了数字低通滤波。4. 温度、压力的数字表示压力的数字表示,这里2的补码需要注意。温度的数字表示,这里2的补码需要注意。5. LPS27HHW寄存器配置初始化:void lps27hhw_init(v
2020-08-14 20:21:26
575
原创 STEVAL-MKI109V3评估板 PART2 - LPS27HHW传感器接口
1. 传感器接口电路双列直插的传感器模块可以通过这个接口插入,数字信号是通过缓冲器中转的,例如GP,DEN等信号。2. 逻辑接口电路-1用于控制DEN,CS和GP信号,信号方向是从A->B,因此,OE=0,DIR1=1,DIR2=1.3. 逻辑接口电路-2中断信号INT1/2/3/4,传感器的输出信号,方向从B->A,因此OE=0,DIR_INT3_INT4=0。4. 逻辑接口电路-3I2C信号缓冲,因此OE=1...
2020-08-13 19:43:54
517
原创 STEVAL-MKI109V3评估板 PART1 - 传感器供电电源
1. 背景:STEVAL-MKI109V3评估板拿到一块STEVAL-MKI109V3评估板,看了下原理图,功能蛮强大,而且还开放了SPI和I2C接口出来,带了保护功能,所以把原有的程序擦除了,当做自己的开发板来用。这个开发板专门用于评估ST出的加速度、温度、气压等传感器。电路板布局非常的紧凑,设计电路稍显复杂,尤其是电源控制那部分。2. 双路的传感器供电电源电压生成级通过PWM来控制电源电压,设计了1级、2级、3级低通滤波,截止频率这里懒得算了,1级和3级是无源滤波器,2级是有源滤波器,第一级滤波
2020-08-09 17:50:23
642
原创 STM32之PWM的使用
1. 时钟的配置在时钟树上面,PWM对应的外设时钟为APB1 Timer Clock, 48MHz.2. PWM通道的配置选择内部时钟,也就是说基准频率为48MHz,通道使能CH1、CH2、CH3,其余不变。Period=2400,也就是说PWM的频率为48000KHz/2400=20KHzPulse设置为1200表示高电平占用的时间Fast Mode勾选,快速输出管脚电平,其余不变。GPIO速度也选为最快速,慢速的话,在输出最小或者最大PWM的时候,响应会跟不上。3. 代码生成使
2020-08-09 15:21:01
4066
1
原创 NXP PCF85063芯片的实时时钟
1.背景最近在公司的一个项目用用到了PCF85063,在下批量的出现了晶振起振,CLKOUT有输出,但是时钟不走的情况。后来通过现象复现找到了原因:当OSC输入接死的情况下,再接上电源,之后再撤掉OSC接死的情况,就会发生内部计算时钟停止。大概300台机器里面会有1-2两台会有这种情况,可能跟产线组装有关系。此时打印出来的所有寄存器的值如下:CLKOUT管脚上面出来的波形如下:2. PCF85063功能I2C接口,32.768KHz晶振,电压0.9V起,0.22uA微电流,重要的是,它有一个晶
2020-07-14 22:19:02
3766
2
原创 RAM-Disk - 基于STM32F103C8T mini MCU
1. RAM-Disk实验目的就是在内部RAM或者外部的SDRAM中,创建一个FAT格式的文件系统,适合FAT操作,并且作为USB-Device-Mass-Storage供PC机访问,数据交互。本文用了一颗很小的MCU,即STM32F103C8T,利用其内部的SRAM,来制作一个可以通过U盘格式来访问的FAT文件系统。本实验的目的,了解USB Mass Storage和FAT文件系统的程序结构。2. STM32Cube生成文件框架a.) 使能USBb.) 将USB设置为USB-Device-Ma
2020-07-12 22:51:34
559
原创 MAX30205人体温度传感器使用 - 基于STM32F103C8T最小系统板
传感器的熟悉37°C-39°C范围内精度0.1°C,功耗低,供电适中,I2C接口。典型应用电路在本人实际的测试电路里面,实际用到了8颗人体温度传感器。I2C-1用了四颗,I2C-2用了四颗。管脚说明管脚定义如下,这里面EP这个背面的焊盘很重要,用来检测温度的,不需要接地,但是需要电路板背面铜皮裸露出来,连到这个EP上面,减小热阻,也就是让温度响应更快,更准确。A2,A1,A0用来指定传感器I2C从机地址,SCL,SDA是I2C总线。内部寄存器地址写时序读时序数据格式测试
2020-07-11 11:14:21
10420
6
原创 Letter-Shell在STM32 MCU上的移植 - PART1 基于前后台
MCU上,没有一个像Linux或者DOS一样,通过命令行来操作,调试,实在是太不方便了,好在有大师已经写好了一个Letter-Shell,亲测好用,基于前后台的命令行控制的移植步骤介绍如下。下载源文件https://github.com/NevermindZZT/letter-shell待续。。。...
2020-07-10 22:48:57
3694
2
原创 基于STM32F103C8T最小系统板驱动BQ24295充电芯片-PART2
充电芯片的熟悉,这个很重要,否则不知道如何操作让芯片能够正常工作。为了简便起见,所有的寄存器操作,全是单字节操作Single Read/Write:充分利用STM32Cube HAL库里面I2C MEM Read/Write的两个函数,注意设备地址,需要移位还是不移位,寄存器的地址是一位还是两位,有些设备是两位的,有些是一位的,BQ的这颗芯片,就是1位的。/** * @brief Read an amount of data in blocking mode from a specific .
2020-07-10 22:42:57
573
原创 基于STM32F103C8T最小系统板驱动BQ24295充电芯片-PART1
配置时钟配置SWD口和SYSTICK开启两路I2C接口,全部采用默认配置时钟树的配置生成时钟树,同时选择MDK开发工具,生成程序结构
2020-07-10 20:39:16
1186
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人