草庐IT

《安富莱嵌入式周报》第304期:开源硬件耳机设计,AI单片机STM32N6已确定为M55内核,另外还有新品STM32H5, H50X, H7R, H7S发布

往期周报汇总地址:嵌入式周报-uCOS&uCGUI&emWin&embOS&TouchGFX&ThreadX-硬汉嵌入式论坛-PoweredbyDiscuz! 更新一期视频教程:第6期ThreadX视频教程:图文并茂吃透RTOS运行机制,任务管理,上下文切换,任务栈,系统栈等(2023-02-19)https://www.armbbs.cn/forum.php?mod=viewthread&tid=118041视频版:https://www.bilibili.com/video/BV1Ss4y1b7Xz《安富莱嵌入式周报》第304期:开源硬件耳机设计,AI单片机STM32N6已确定为M55内核

【单片机】STM32单片机频率计程序,外部脉冲计数程序,基于脉冲计数的频率计程序,STM32F103

文章目录定时器外部脉冲计数功能程序实现TIM1定时一秒钟中断TIM2外部脉冲计数配置TIM3PWM产生总程序定时器外部脉冲计数功能两种方法用于在单片机中实现频率计的功能。第一种方法是通过定时器来衡量信号的周期,然后将周期转换为频率。在这种方法中,你可以使用单片机的定时器模块来测量输入信号的周期,定时器会产生一个计数值,你可以根据这个计数值来推算出输入信号的周期,并通过简单的数学运算将周期转换为频率。【定时器捕获功能】第二种方法是统计一定时间内脉冲的个数。在这种方法中,你可以使用单片机的输入捕获功能来记录输入脉冲的次数。通过在一段固定的时间内记录脉冲的个数,然后将脉冲个数除以时间,就可以得到频率

STM32:Custom HID实现USB双向通信

本文章主要讲了使用STM32的USBDevice,实现控制板和电脑通信功能。从而实现,上位机对控制板进行调试。USBDevice可以有多种类型,实现双向通信的话,推荐使用CustomHID类型。首先使用STM32CubeMx实现功能引脚配置并且生成对应的工程文件。 Middleware设置USB_DEVICE  配置时钟,USB设置为48MHz。 生成驱动代码和工程:生成的代码还有点问题,修改对应的CUSTOM_HID_ReportDesc_FS。 /**UsbHIDreportdescriptor.*/__ALIGN_BEGINstaticuint8_tCUSTOM_HID_ReportDe

STM32--SPI通信与W25Q64(2)

STM32–SPI通信与W25Q64(1)文章目录SPI外设特征SPI框图传输模式主模式全双工连续传输非连续传输硬件SPI读写W25Q64SPI外设STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻CPU的负担。特征3线全双工同步传输8或16位传输帧格式选择主或从操作支持多主模式8个主模式波特率预分频系数(最大为fPCLK/2)主模式和从模式下均可以由软件或硬件进行NSS管理:主/从操作模式的动态改变可编程的数据顺序,MSB在前或LSB在前可编程的时钟极性和相位SPI总线忙状态标志兼容I2S协议STM32F103C8T6硬件SPI资源:SPI1、SPI2S

STM32同步NTP服务器时间

目录一、NTP 二、报文解析三、代码获取时间的方式有很多:GPS授时、无卡CDMA授时和网络授时等,NTP是通过Internet或局域网,从NTP服务器获取时间。NTP时间服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,SP-SS06NTP授时服务器具有抗干扰性强、低功耗、多平台多系统支持、故障报警等功能,为网络设备(用户)提供精确、标准、安全、可靠和多功能的同步时间服务。 那单片机想要连接NTP服务器,就需要接入网络,接入网络可以参考:STM32驱动CH9121网络串口透传或者说比较热门的ESP8266,ESP32这些无线接入的方式一、NTP详细

C语言-内存分布(STM32内存分析)

C/C++内存分布一、内存组成二、静态区域文本段(Text/只读区域RO)已初始化读写数据段(RWdata--InitializedDataSegment)未初始化数据段(BSS--BlockStartedbySymbol)三、动态区域堆(heap)栈(stack)四、STM32内存分析Flash区域RAM区域map文件分析一、内存组成根据动静特性可以将内存分为动态区域和静态区域,代码段(Code)、只读数据段(ROdata)、读写数据段(RWData)、未初始化数据段(BSS)属于静态区域。堆和栈属于动态区域。二、静态区域文本段(Text/只读区域RO)通常代码段和只读数据段合成为文本段(T

MCP4725介绍和STM32模拟IC2驱动

一.MCP4725简单总结为下面几个特点。1路DAC输出12位分辨率I2C接口(标准,快速,高速支持)供电电压2.7-5.5内部EEPROM存储设置I2C地址可配置(A0)(A1、A2内置,默认为‘00’)二.硬件设计MCP4725的管脚定义如图所示,比较简单官方的电路图如下一般上拉电阻选择10K就可以了,后级的比较器看项目需要,可以更换为同相放大器。三.软件设计MCP4725的输出电压由下面的公式计算得出可以理解为VDD除以4096份,我们想要输出相对应的电压只要计算好相对应的份数就可以了。MCP4725采用I2C接口。写命令如图MCP4725带一个EEPROM,可以存储上一次输出的电压指令

STM32实现MLX90614非接触测温串口显示(标准库与HAL库实现)

目录模块选择编程环境 MLX90614基本原理通信协议(SMBus通信,类IIC通信)代码实现STM32与模块之间接线表1.标准库实现温度采集2.HAL库实现温度采集模块选择    ·STM32F103C8T6    ·MLX90614非接触式红外测温传感器编程环境    ·KEIL5(μVisionV5.30.0.0)其它版本影响并不大     ·STM32CubeMX,版本不限     ·串口助手 MLX90614基本原理 引脚说明编号名称功能1VCC电源正,3-5V2GND电源地3SCL串行时钟输入4SDA串行地址和数据输入/输出MLX90614是一种红外温度计,用于非接触式温度测量。红

STM32操作系统FreeRTOS学习——基于hal库

目录一、基础概念1、FreeRTOS2、单片机编程的系统概念a、裸机系统,包括轮询系统(不包括中断)和前后台系统(中断为前台,轮询为后台)b、多任务系统3、FreeRTOS编程风格a、数据类型b、变量名的定义c、函数名d、宏定义二、Cubemx创建工程1、创建任务2、创建队列3、信号量 4、互斥量5、中断三、FreeRTOS基础知识 1、任务创建流程a、任务的概念b、任务的栈c、任务的函数主体d、任务控制块e、任务创建函数(与任务函数主体区分,任务函数主体是任务创建函数的一个参数)f、实现就绪列表g、实现调度器2、FreeRTOS任务执行原则a、合作式任务调度b、抢占式任务调度3、FreeRT

基于STM32的智能风扇系统

目录1、概述2、硬件组成3、PWM调速原理4、L298N电机驱动控制原理5、红外线遥控编码原理6、软件设计7、实物测试1、概述该智能风扇以STM32单片机为核心,结合红外遥控、人体感应、蓝牙数据传输、电机驱动等模块,实现风扇的启动、正反转、多级调速等功能,并通过物理按键、红外遥控以及手机APP三种不同的控制方式控制风扇实现各种功能,在LCD液晶屏上会实时显示智能风扇系统的实时状态,包括风力等级、工作模式、风扇转速等信息,在蓝牙连接的情况下会将这些信息发送给手机,在手机APP上实时更新显示。与此同时,风扇转动过程中安全保护机制也会同步开启,当检测到有人体靠近扇叶时,警报器鸣响,风扇立即停止转动。