自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 511

原创 STM32F103C8T的IAP设计

(一)例子代码里面的ReadmeIAP占用FLASH低位段的PAGE0-PAGE7,应用程序占用了PAGE8以上的代码。(二) STM32F103C8T上的代码移植例子里面的代码是基于大容量的芯片,有几个地方,需要针对所使用的MCU来进行修改。先把代码从例子代码里面COPY过来,具体有以下几个文件:并加入到工程文件中,进行编译,会发生一堆的错误,比如头文件没有,某个变量没有,define没有找到,没有关系,一个一个的搞定。在main.h里面加入如下,定义了UartHandle变量指向到hu

2021-12-18 14:16:25 269

原创 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 293

原创 MCUXpressor初探(一)

MCUXpressor初探(一)最近由于工作的原因,拿到了NXP的一片RT1010的开发板,然后下载了配套的开发工具MCUXpressor,发现还是有不小的进步,外设,管脚的定义,现在也有了可视化了,还算方便。管脚定义使用的外设用了绿色,而且非常的详细,如下:ALT功能也非常详细的点出来了。MCU全局管脚定义和外设全局图:PIN_MUX在右边的.H .C详细介绍了时钟定义另外还有一个是外设驱动功能,类似ST Cube,可以在配置工具里面选择。...

2021-12-16 21:35:12 8371

原创 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 103

原创 关于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 857

原创 利用花生壳来调试4G网络模块

背景朋友有个项目让我评估一个方案的可行性:要用到网络摄像机,还有串口透传,买了一个网络模块,用到了移远的EC20 PCIE模块,并且集成了WIFI和一些基本的外设。花生壳软件新建一个映射,绑定内网的主机和端口号,并激活开启这个映射,此时供外网访问的IP就生成了。供外网访问的IP地址以及域名如下,端口号为13599。4G网络透传模块集成了两个网口,用于网络摄像头,一个WIFI,用于配置,还有一个串口,用于透传。使用指南:WiFi热点: BOJINGnet_XXXXXWiFi密码:1234

2020-10-05 21:23:06 1227 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 892

原创 基于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 840 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 495

原创 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 432

原创 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 575

原创 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 3525 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 3385 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 465

原创 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 9646 5

原创 Letter-Shell在STM32 MCU上的移植 - PART1 基于FREERTOS实时操作系统

待续

2020-07-10 22:49:38 886 2

原创 Letter-Shell在STM32 MCU上的移植 - PART1 基于前后台

MCU上,没有一个像Linux或者DOS一样,通过命令行来操作,调试,实在是太不方便了,好在有大师已经写好了一个Letter-Shell,亲测好用,基于前后台的命令行控制的移植步骤介绍如下。下载源文件https://github.com/NevermindZZT/letter-shell待续。。。...

2020-07-10 22:48:57 3400 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 506

原创 基于STM32F103C8T最小系统板驱动BQ24295充电芯片-PART1

配置时钟配置SWD口和SYSTICK开启两路I2C接口,全部采用默认配置时钟树的配置生成时钟树,同时选择MDK开发工具,生成程序结构

2020-07-10 20:39:16 1078 2

转载 Sauerstoff

2020-07-10 20:26:34 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除