推荐阅读最新更新时间:2024-03-16 14:28
STM32 环境光传感器ADC采样
一、STM32 环境光传感器模块 TEMT60000光传感器把光信号转变成为电信号,PA作为模拟输入,接收光传感器的电压, 将PA4设置成ADC 二、Stm32CubeMx配置ADC 打开PA4并使能ADC1通道9 配置完ADC之后,GPIO模式自动为模数转换模式 使能外部高速时钟 配置时钟 不要让ADC时钟超过14MHz,否则可能不准 ADC参数设置 配置USART1为异步模式 PA10和PA9被使能作为串口的收发端 生成代码 三、Keil编写程序 在uart.c中做printf、scanf的重定向以便于串口通信 #include stdio.h #ifdef __GNU
[单片机]
stm32之 GPIO_Remap_SWJ_Disable之后无法使用swd下载 程序解决方法
说明:库文件版本:3.5.0 软件环境:iar for arm 在系统复位的时候默认是开启JTAG与swd的,在点击下载后的2秒内按下复位键即可将程序下载进stm32 注意:在程序里边加入GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE); 来彻底解除限制,或用写寄存器的方式,SWG_CFG 写入000
[单片机]
【STM32】GPIO工作原理(八种工作方式分析,附电路图)
STM32F1xx官方资料: 《STM32中文参考手册V10》-第8章通用和复用功能IO(GPIO和AFIO ) 芯片数据手册(datasheet) STM32的GPIO介绍 STM32引脚说明 GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 STM32F103ZET6芯片为144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、
[单片机]
stm32使用FPU时注意事项
除了网上的教程外,还要特别注意,当运算中有浮点的数字时要把,数字后面加上一个f。例如表达式中有4.321参与运算。。当你不在4.321后加f时,stm32F405的片子不知道把他当做单精度float用FPU来运算,,默认可能是当做double来运算(我不确定),运算速度还是很慢。。切记所有浮点数字后面加上f,,,,有时候keil会提示warning: #1035-D: single-precision operand implicitly converted to double-precision 这句话的意思就是单精度运算隐式转换成了双精度运算了。这个时候就要在单精度数字后面加个f keilmdk的设置中完整的define是
[单片机]
手机USB充电所面临的绿色挑战
谁能想到手机产业会影响环境?当你在思考如何减少生态污染时,想到的可能是改变汽车设计,或使用绿色能源,根本不会是手机。然而,我们确实看到 手机充电器 对环境造成了很大的影响。手机行业已经开始使用 通用充电解决方案 (UCS)来解决这个问题,UCS将改变手机制造商设计手机的方式。本文将对实现安全充电接口需要考虑的因素加以分析。
一个手机用户一年会产生约17公斤的二氧化碳,相当于汽车行驶111公里。这个数字不是很大,在保护环境方面似乎不是优先考虑的对象。然而,如果换一个角度看,你会发现,去年全球手机出货量达12亿部,每一部手机都有自己专用的充电器。在这12亿部手机中,估计有5亿部是替代性手机。拿到一部新手机通常都
[电源管理]
【stm32】时钟树解析
STM32时钟系统 在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。 用户可通过多个预分频器配置AHB总线、高速APB2总线和低速APB1总线的频率。AHB和APB2域的最大频率是7
[单片机]
STM32 FSMC 配置说明
typedef struct { uint32_t FSMC_Bank;//nor被分为四块,其中这个参数是说明对那个块编程 uint32_t FSMC_DataAddressMux;//地址\数据是否复用 uint32_t FSMC_MemoryType;//存储器类型 uint32_t FSMC_MemoryDataWidth;//数据总线宽度 8位/16位 uint32_t FSMC_BurstAccessMode;//是否进行成组模式访问 uint32_t FSMC_WaitSignalPolarity;//等待信号有效级性 uint32_t FSMC_WrapMode;//该位决定控制器是
[单片机]
在STM32实现命令行
一、前言 工作中的开发环境都是基于linux命令行交互,作为命令行的重度使用者,玩单片机也要使用命令行工具,百度了一些命令行工具,有几个不错的开源 cmd 交互工具,主要看了 finsh和 nr_micro_shell 两个开源项目。Finsh 功能上限较多,但资源占用比较高,nr 有基本功能,且占用 MCU 资源较少,Github 给出的对比列表如下: Nr 和 Finsh 编译资源对比: 原始工程 添加nr_micro_shell增加量 添加finsh增加量 ROM 63660 +3832 +26908 RAM 4696 +1104 +1304 综合衡量了一下,移植 nr 作为后续项目的一个命令行交互。本篇文章分
[单片机]