- 博客(31)
- 收藏
- 关注
原创 【STM32开发之寄存器版】(十七)-CAN总线回环测试
STM32F103ZET6属于大容量产品,具备基本扩展CAN(),它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。对于安全紧要的应用,bxCAN提供所有支持时间触发通信模式所需的硬件功能。支持 CAN 协议 2.0A 和 2.0B 主动模式波特率最高达 1Mbps支持时间触发通信具有 3 个发送邮箱具有 3 级深度的 2 个接收 FIFO可变的过滤器组(最多 28 个)
2024-11-05 10:26:52
1437
3
原创 【STM32开发之寄存器版】(十六)-CAN总线基础知识
有关CAN协议的更多内容详见瑞萨CAN入门书。本文主要讨论了ISO11898物理层特征以及CAN协议的帧类型、位时序以及仲裁过程。下一节将进行STM32F103ZET6的CAN回环测试。
2024-11-04 19:20:18
1227
原创 【STM32开发之寄存器版】(十五)-数字音频接口I2S基础知识
I2S是一种3引脚的同步串行接口通讯协议。它支持四种音频标准,包括飞利浦I2S标准MSB和LSB对齐标准以及PCM标准。它在半双工通讯中,可以工作在主和从2种模式下。当它作为主设备时,通过接口向外部的从设备提供时钟信号。I2S协议主要用于音频处理器、音频解码器、蓝牙音频设备、多声道音频系统等领域。
2024-11-04 11:30:39
2016
原创 【STM32开发之寄存器版】(十四)-SPI读写外部FLASH
SPI 是一种高速同步串行输入/输出端口,可以将2-16Bit的数据以指定速率移入或移出设备。SPI 通常用于MCU与外设之间的通信。典型应用包括移位寄存器、显示驱动器、SPI EPROMS 和模数转换器等设备。
2024-10-30 16:17:13
2801
1
原创 【STM32开发之寄存器版】(十三)-I2C读取MPU6050数据
本次DEMO的目标是使用STM32F103ZET6的软件I2C实现MPU6050的数据(包括3轴加速度、3轴角速度、温度以及DMP库姿态解算数据)读取。
2024-10-22 20:32:42
2188
原创 【STM32开发之寄存器版】(十二)-I2C基础知识详解
在普通消费电子领域,几乎每个系统都包括控制系统(如MCU)、通用电路(如EEPROM、AD/DA转换器)、面向应用的电路(如信号处理电路、温度传感器)。为了保证通讯接口的相似性,最大限度提升硬件效率和电路的简洁性。Philips Semiconductors (现在的NXP Semiconductors)开发了一种简单的双向双线总线,用于不同IC之间的高效控制,这种总线被命名为I2C总线。
2024-10-21 11:01:33
1564
原创 【STM32开发之寄存器版】(十一)-DMA和串口空闲中断实现不定长数据接收
直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。STM32F103ZET6有2个DMA控制器。两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA请求的优先权。DMA控制器和Cortex™-M3核心共享系统数据总线,执行直接存储器数据传输。
2024-10-15 21:19:49
2240
原创 【STM32开发之寄存器版】(十)-数模转换DAC
本文将使用STM32F103ZET6的DAC1来输出电压,通过ADC1的通道1采集DAC输出电压信息,通过串口打印在上位机XCOM上。
2024-10-12 10:31:29
1415
原创 【STM32开发之寄存器版】(九)-模数转换ADC
STM32 的 ADC 是12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。STM32F103ZET6包含有 3 个 ADC。STM32 的 ADC 最大的转换速率为 1Mhz,也就是转换时间为 1us(在 ADCCLK=14M,采样周期为 1.5 个 ADC 时钟下得到),不要让 ADC 的时钟超过 14M,否则将导致结果准确度下降。
2024-10-11 19:55:12
1552
3
原创 【STM32开发之寄存器版】(八)-定时器的编码器接口模式
除了之前几篇文章一直使用到的正点原子STM32F103ZET6精英板,本文还是用到了直流减速电机。型电机的参数如下表所示:额定电压(V)额定电流(A)堵转电流(A)减速后空载转速(rpm)减速后额定转速(rpm)额定扭矩(kg.cm)堵转扭矩(kg.cm)功率(W)120.363.2366±26293±2114.54本文使用的型号编码器线数类型供电范围霍尔编码器13ppr磁感应3.3-5V开发板带编码器的电机5V5VGNDGNDPA6A相PA7。
2024-10-09 16:10:58
3667
2
原创 【STM32开发之寄存器版】(七)-PWM脉冲宽度调制
寄存器作用捕获/比较模式寄存器1/2TIMx_CCER捕获/比较使能寄存器捕获/比较寄存器1-4AFIO_MAPR复用重映射和调试I/O配置寄存器。
2024-10-07 21:12:10
1860
原创 【STM32开发之寄存器版】(六)-通用定时器中断
寄存器作用TIMx_CR1控制寄存器1TIMx_DIERDMA/中断使能寄存器TIMx_PSC预分频器TIMx_SMCR从模式控制寄存器TIMx_CNT计数器TIMx_ARR自动重装载寄存器TIMx_SR状态寄存器下面将对这些寄存器进行一一介绍。
2024-10-07 19:34:12
2160
原创 【STM32开发之寄存器版】(五)-窗口看门狗WWDG
窗口看门狗的时序图如下所示:T[6:0]:控制寄存器(WWDG_CR)的低7位。W[6:0]:配置寄存器(WWDG_CFR)的低7位,为窗口看门狗的上窗口。3Fh:下窗口0X40的边界。当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。窗口看门狗的超时公式如下:Twwdg:WWDG超时时间(单位ms)Fpclk1:APB1的时钟频率(单位KHz)WDGTB:WWDG的预分频系数T[5:0]:窗口看门狗的计数器低6位WDGTB最小超时值最大超时值0。
2024-10-06 08:00:00
1559
2
原创 【STM32开发之寄存器版】(四)-独立看门狗IWDG
寄存器功能IWDG_KR键寄存器IWDG_PR预分频寄存器IWDG_RLR重装载寄存器IWDG_SR状态寄存器下面将对这些寄存器进行一一介绍。
2024-10-05 17:31:53
1279
原创 【STM32开发之寄存器版】(三)-详解NVIC中断
寄存器功能ISER中断使能寄存器组ICER中断除能寄存器组ISPR中断挂起控制寄存器组ICPR中断解挂控制寄存器组IABR中断激活标志位寄存器组IPR中断优先级控制寄存器组STIR软件触发中断寄存器组SCB_AIRCR应用中断和复位控制寄存器STM32的NVIC控制器寄存器组看起来比较独特,普通的寄存器可以通过写0和写1实现使能和除能、挂起和解挂,但是NVIC的这些寄存器都是写1有效,写0无效的。
2024-10-05 11:35:49
3581
原创 【STM32开发之寄存器版】(二)-USART
实现USART1的功能主要涉及以下寄存器:寄存器功能APB2ENRAPB2 外设时钟使能寄存器GPIOx_CRH端口配置高寄存器APB2RSTRAPB2 外设复位寄存器USART_BRR波特比率寄存器USART_CR1控制寄存器 1USART_SR状态寄存器USART_DR数据寄存器下面将对这些寄存器进行一一介绍。
2024-10-04 21:19:42
2500
原创 【STM32开发之寄存器版】(一)-GPIO
寄存器功能端口配置低寄存器端口配置高寄存器端口输入数据寄存器端口输出数据寄存器端口位设置/清除寄存器端口位清除寄存器端口配置锁定寄存器其中,最常用的4个寄存器是CRL、CRH、IDR、ODR。
2024-10-04 11:50:40
1901
原创 【豆包大模型】-Python调用豆包大模型API及文本转语音TTS
豆包大模型是由字节跳动开发的人工智能。它具有,本文旨在使用Python调用豆包大模型API,并实现TTS文本转语音,将大模型输出结果播报出来。
2024-09-12 11:08:34
14039
15
原创 【全志V3S开发】(十二)-TF_WIFI联网
在嵌入式系统的设计中,具有重要的实际应用价值和必要性,特别是在物联网(IoT)和智能设备领域。本文将使用全志V3S和RTL8723实现WIFI联网功能。
2024-09-10 21:47:43
1293
原创 【全志V3S开发】(十一)-GPIO字符设备驱动
本文要为全志V3S的PB5引脚撰写GPIO字符设备驱动,相关原理图如下图所示,参考资料主要为正点原子i.mx6ull的字符设备驱动。
2024-09-09 15:50:51
1724
原创 【全志V3S开发】(十)-LRADC按键
全志V3S 的LRADC(低分辨率模数转换器,Low Resolution Analog to Digital Converter)是一个简单的模数转换模块,通常用于读取模拟信号,如电池电压、键盘输入或其他低频率的模拟传感器输入。
2024-09-07 15:23:27
789
原创 【全志V3S开发】(九)-USB HID设备接入
前面我们已经实现了TFT屏幕移植,为了实现一个真正意义上的linux小电脑,还需要为V3S适配一个USB HID键盘。
2024-08-28 11:24:03
1093
原创 【全志V3S开发】(八)-mplayer视频播放
之前我们已经完成了TFT屏幕移植和codec移植,现在我们要使用mplayer进行视频播放。
2024-08-27 21:17:58
1580
2
原创 【全志V3S开发】(七)-CODEC音频播放
1. sun8i-v3s-licheepi-zero-dock.dts中已经默认使能了codec,如下图所示:2. 通过SecureCRT 查看串口输出的linux kernel日志也可以查看到codec: controlC0表示控制器,C0就是声卡0。 pcmC0D0c 表示capture,是用于录音的pcm设备。 pcmC0D0p 表示playback,是用于放音的pcm设备。 timer 表示定时器如果以上检查都没问题,说明codec设备被成功使能!
2024-08-27 19:38:55
1285
原创 【全志V3S开发】(六)-TFT屏幕适配
我使用的并不是Licheepi官方给出的RGB屏,而是。因此需要在linux Kernel中对屏幕进行适配,这个demo最终能将终端显示在屏幕上。
2024-08-23 18:42:08
1566
原创 【全志V3S开发】(三)-根文件系统rootfs移植
1. 编译完成后会在output/images下生成rootfs.tar,将其移动到烧录文件夹/home/daemonchen/linux/V3S/mysys_kernel_5.2.y。2. 使用SecureCRT串口查看,输入ls命令查看根文件系统,至此根文件系统移植完毕(直接输入。2. 进入烧录文件夹,解压出rootfs文件夹,最后移除rootfs.tar文件。烧录rootfs文件,
2024-08-21 21:23:34
602
原创 【全志V3S开发】(一)-主线uboot移植及适配以太网
1. 新建一个交叉编译器的工具目录,我的目录是/home/daemonchen/linux/tool,并在该目录下打开终端。2. 安装arm-linux交叉编译器3. 将下载好的gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf-develop-11.0.zip放在在/home/daemonchen/linux/tool目录下。解压并将其移动到/opt目录下。4. 使用vim打开/etc/bash.bashrc,并添加交叉编译器到环境变量。
2024-08-21 16:45:37
1789
1
原创 【全志V3S开发】(二)-主线Linux Kernel移植
1. 将.dtb和zImage移动到自己的烧录文件夹下,烧录文件夹自己创建,我的路径为/home/daemonchen/linux/V3S/mysys_kernel_5.2.y。
2024-08-19 08:42:56
447
1
原创 【全志V3S开发】(四)-系统烧录
1. ubuntu端取消SD卡挂载(尽量别直接拔,会丢文件),将SD卡插入licheepi,上电启动,利用SecureCRT查看串口输出(串口0,用USB转串口接电脑)。2. 依次选择自己SD卡对应的盘符(我的是G盘),选择快速格式化(可以直接删除inode,速度块),然后Format,进度条结束即格式化完成。将内核文件,启动参数文件,dtb写入到sd卡的第一分区sdb1。4. 进入rootfs目录下,打包所有文件,名称为rootfs.tar.gz,并将其移动到烧录文件夹下,最后要回到烧录文件夹下。
2024-08-17 10:41:37
1390
【STM32开发之寄存器版】(十一-附)-DMA和串口空闲中断实现不定长数据接收
2024-10-15
【STM32开发之寄存器版】(八-附)-定时器的编码器接口模式
2024-10-09
Python调用豆包大模型API及文本转语音TTS
2024-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人