草庐IT

STM32学习笔记(一):输出PWM——HAL库

文章目录前言一、PWM是什么?二、实例PWM输出2、代码3、现象3、总结前言本篇文章为个人参考总结所用,如果错误还望指出。涉及的知识:1、STM32CubeMx的部分使用2、PWM原理及常用概念3、用单片机生成一定频率的PWM用到的软件及单片机:1、STM32CubeMx2、IDE:MDK-Keil软件3、芯片:STM32F407ZGT64、开发板:正点原子探索者注:不同型号的单片机实现的原理基本相似,F1实现过程同理一、PWM是什么?脉冲宽度调试(PWM),英文“PulseWidthModulation”,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信

在f1c100s芯片上移植spi网卡enc28j60的linux驱动

前言我个人与全志的芯片颇有故事。在我还是一个不懂事的高中生时,我看到荔枝派的官方文档,顿时被这小小的板子给吸引住。点开文档的初见:荔枝派Nano(下面简称Nano)是一款精致迷你的Arm9核心板/开发板,可用于初学者学习linux或者商用于产品开发。Nano在与SD卡相当的尺寸上(25.4*33mm)提供了丰富的外设(LCD,UART,SPI,I2C,PWM,SDIO,KEYADC...)和较为强劲的性能(24M~408MHz,32MBDDR)。Nano延续并发展了Zero精巧的PCB设计,使得开发和使用非常方便:2.54mm排针直插面包板直插40PRGBLCD使用OTG口进行供电和数据传输(

STM32(HAL库)软件IIC驱动OLED

目录1、简介2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2软件IIC引脚配置2.3项目生成 3、KEIL端程序整合3.1OLED驱动添加3.3主函数代3.4效果展示1、简介本文通过STM32F103C8T6单片机(HAL库)通过软件IIC方式对OLED进行驱动。2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2软件IIC引脚配置2.3项目生成 3、KEIL端程序整合3.1OLED驱动添加首先在建立Hardware文件,添加OLED.c如下图所示:​ 接着对OLED.H进行添加如下图所示: ​OLED驱动链接:OLE

STM32CubeMX配置STM32G031多通道ADC + DMA采集(HAL库开发)

 时钟配置HSI主频配置64M 勾选打开8个通道的ADC 使能连续转换模式 添加DMA DMA模式选择循环模式 使能DMA连续请求采样时间配置160.5转换次数为8 配置好8次转换的顺序 配置好串口,选择异步模式配置好需要的开发环境并获取代码 修改main.c串口重定向#include"stdio.h"intfputc(intch,FILE*f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xFFFF);returnch;} 串口重定向一定要勾选UseMicroLIBMX_ADC1_Init();voidMX_ADC1_Init(void){/*USE

STM32的HAL库开发系列 - GPIO中断/外部中断EXTI

STM32的HAL库开发系列-GPIO中断/外部中断EXTI中断它可以在GPIO口的电平发生变化时产生中断,从而使得STM32微控制器能够及时响应外部设备的变化。STM32的GPIO中断/外部中断EXTI可以配置为上升沿中断、下降沿中断和双边沿中断三种类型,分别在GPIO口电平从低电平变为高电平、从高电平变为低电平和在任意电平变化时产生中断。STM32的GPIO中断/外部中断EXTI还支持中断优先级的配置,可以设置不同的中断优先级以控制中断的处理顺序。STM32的GPIO中断/外部中断EXTI还支持中断嵌套,可以在处理一个中断时产生另一个中断。HAL库gpio中断服务函数voidHAL_GPI

(一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>

目录一、工作环境及项目简介二、原理图设计1、核心板🍎电源电路🍎板对板连接器🍎复位电路🍎晶振电路 🍎主控电路 2、底板🍍串口转USB电路🍍TF卡电路🍍WIFI电路🍍TFT屏幕🍍音频🍍板对板连接器🍍40Pin4.3寸屏幕 三、PCB展示 四、实物展示一、工作环境及项目简介立创EDA:硬件原理图及PCB绘制。全志F1C200S:F1C100S内置32MBDDR1内存,F1C200S内置64MBDDR1内存。原理图:参考开源项目,详见墨云,详见peng-zhihui。核心板:四层。底板:两层。工具:烙铁、热风枪、焊锡膏、洗板水、各种电子元器件。二、原理图设计1、核心板🍎电源电路在F1C200s的dat

【STM32笔记】HAL库低功耗STOP停止模式的串口唤醒(解决进入以后立马唤醒、串口唤醒和回调无法一起使用、接收数据不全的问题)

【STM32笔记】HAL库低功耗STOP停止模式的串口唤醒(解决进入以后立马唤醒、串口唤醒和回调无法一起使用、接收数据不全的问题)【STM32笔记】低功耗模式配置及避坑汇总前文:blog.csdn.net/weixin_53403301/article/details/128216064【STM32笔记】HAL库低功耗模式配置(ADC唤醒无法使用、低功耗模式无法烧录解决方案)低功耗模式如图所示停止模式有三种分别是012其中01可以由串口唤醒2只能由LPUART唤醒在手册里可以查到进入也很简单:/*!*@brief 进入低功耗模式 **@param [in] mode_flag:模式标志*

python - 如何在 Keras 模型中使用 F1 Score?

出于某种原因,我在尝试使用Keras模型指定f1分数时收到错误消息:model.compile(optimizer='adam',loss='mse',metrics=['accuracy','f1_score'])我收到这个错误:ValueError:Unknownmetricfunction:f1_score在我使用“model.compile”的同一个文件中提供“f1_score”函数之后:deff1_score(y_true,y_pred):#Countpositivesamples.c1=K.sum(K.round(K.clip(y_true*y_pred,0,1)))c2=

(学习)基于STM32的PWM控制直流电机转速(CubeMX+HAL库)

使用到的各元件:1、12V电源一个2、单片机:STM32F103C8T63、直流电机4个4、电机驱动模块:L298N5、降压模块两个6:杜邦线若干对于直流电机的转动控制如下表两边电平001001电机状态停止正转反转注意,两边电平不能同时为1。显然,转动控制是非常简单的,关键在于怎么控制电机的转速,这就需要使用PWM波来进行控制PWM波在PWM输出模式下,除了CNT(计数器当前值)、ARR(自动重装载值)之外,还多了一个值CCRx(捕获/比较寄存器值)。当CNT小于CCRx时,TIMx_CHx通道输出低电平;当CNT等于或大于CCRx时,TIMx_CHx通道输出高电平。在一个周期内:定时器从0开

HAL 固件库

学习自记:小结先:core_cm3.h屏蔽编译器差异、定义变量类型、内核寄存器地址定义-——>不同芯片厂商、不同软件都用arm公司定义的内核文件,此文件为通用文件汇编语言启动文件startup_stm32f103xx.s-——>针对芯片的专有文件系统初始化system_stm32f1xx.c/h-——>stm32f1xx.h型号选择文件-——>外设寄存器地址和结构体类型定义stm32F103xx.h-——>stm32f1xx_hal_conf.h所需外设驱动函数选择及时钟源配置,这个文件被包含进stm32f103xx.h文件,这个文件还可配置是否使用“断言”编译选项-——>STM32F1xx_