
嵌入式
文章平均质量分 60
诺亚方包
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何用树莓派做一个家庭语音助手/智能音箱
前言这学期有一个人工智能导论需要做一个课程设计,于是我就打算搞个家庭语音助手交上去,实现的功能有语音唤醒、语音合成、语音识别、控制家电、询问日期、询问时间、询问星期、 询问天气情况、播报新闻、人脸检测、人脸识别等等大概思路关于语音合成、语音识别、人脸检测、人脸识别我都是使用百度AI 开放平台提供的服务,...原创 2020-01-23 06:02:17 · 10446 阅读 · 5 评论 -
如何为DIY的智能音箱赋予语音唤醒能力
前言原创 2020-01-23 05:30:05 · 3073 阅读 · 0 评论 -
单片机数据接收 —— 自定义裁剪目标子串
例如在串口通信的代码中,我们通常会根据一些标志字符或者标志字符串来对母字符串进行裁剪,从而提取出我们想要的那段目标子串我现在假设主机发送给从机的数据是angle:50;,也就是传递给从机一个角度值为50 的信息然后从机需要从接收到的数据中把50 这个值提取出来并转化为整型:char *p = NULL, *pend = NULL;/* uart4_rcv_buf 是串口的接收数据端的bu...原创 2019-11-20 16:22:50 · 353 阅读 · 0 评论 -
树莓派 与 Xbox360手柄 基于pygame 的一次邂逅
前言我一直都很想把游戏手柄作为树莓派的控制器,于是,我对飞智的八爪鱼下手了。。。这手柄确实不错,可以连接多种设备,可以连接手机平板或电脑,连接电脑的时候支持Xbox360 模式开始硬件介绍:树莓派3B+飞智八爪鱼游戏手柄安装软件sudo apt-get install joysticksudo apt-get install xboxdrv若下载失败,请尝试upda...原创 2019-11-04 22:29:20 · 5058 阅读 · 19 评论 -
STM32F429 >> 17. 利用MPU6050 进行姿态检测(Code)
mpu6050.h/** ****************************************************************************** * @file mpu6050.h * @author Waao * @version V1.0.0 * @date 16-Feb-2019 * @brief This f...原创 2019-02-17 10:14:21 · 1751 阅读 · 1 评论 -
STM32F429 >> 17. 利用MPU6050 进行姿态检测
姿态角的关系坐标系间的旋转角度说明载体自身旋转偏航角(Yaw)Y 轴与标准方向的夹角绕载体Z 轴旋转 可改变俯仰角(Pitch)Z 轴与标准方向的夹角绕载体X 轴旋转可改变横滚角(Roll)X 轴与标准方向的夹角绕载体Y 轴旋转可改变利用陀螺仪检测角度最直观的角度检测器就是陀螺仪了,见图 47-3,它可以检测物体绕坐标轴转动的“角速度”,如同...原创 2019-02-17 09:21:43 · 3123 阅读 · 0 评论 -
STM32F429 >> 20. CAN 通讯(Code)
本工程配置CAN 为回环模式。bsp_can.h/** ****************************************************************************** * @file bsp_can.h * @author Waao * @version V1.0.0 * @date 21-Feb-2019 *...原创 2019-02-21 16:34:14 · 880 阅读 · 0 评论 -
STM32F429 >> 20. CAN 通讯(二)
STM32 的 CAN 外设简介STM32 的芯片中具有 bxCAN 控制器 (Basic Extended CAN),它支持 CAN 协议 2.0A 和2.0B 标准。该 CAN 控制器支持最高的通讯速率为 1Mb/s;可以自动地接收和发送 CAN 报文,支持使用标准 ID 和扩展 ID 的报文;外设中具有 3 个发送邮箱,发送报文的优先级可以使用软件控制,还可以记录发送的时间;具有 2 个...原创 2019-02-21 15:32:36 · 3849 阅读 · 1 评论 -
STM32F429 >> 14. TIM_(一)_基本定时器
将定时器和GPIO 结合起来使用可以实现非常丰富的功能,例如测量输入信号的脉冲宽度、产生输出波形、产生PWM 控制电机状态等。STM32F42xxx 系列控制器有 2 个高级控制定时器、10 个通用定时器和 2 个基本定时器,还有 2 个看门狗定时器。控制器上所有定时器都是彼此独立的,不共享任何资源。其中最大定时器时钟可通过 RCC_DCKCFGR 寄存器配置为 90MHz 或者 180M...原创 2019-01-29 21:11:17 · 2223 阅读 · 0 评论 -
STM32 >> OLED 小屏幕(Code)
我的OLED 屏幕使用I2C 通讯需要注意的是:把控好通讯的方式及时序准确性即可。oled.h/** ****************************************************************************** * @file oled.h * @author Waao * @version V1.0.0 * @d...原创 2019-02-22 19:58:57 · 2610 阅读 · 0 评论 -
STM32F429 >> 21. LTDC 液晶屏幕
显示器的参数像素像素是组成图像的最基本单元要素,显示器的像素指它成像最小的点,液晶原理中提到的一个显示单元。分辨率一些嵌入式设备的显示器常常以“行像素值 x 列像素值”表示屏幕的分辨率。如分辨率800x480 表示该显示器的每一行有 800 个像素点,每一列有 480 个像素点,也可理解为有 800 列,480行。色彩深度色彩深度指显示器的每个像素点能表示多少种颜色,一般用“位”(bi...原创 2019-02-23 22:45:55 · 7945 阅读 · 0 评论 -
STM32F429 >> 18. 电源管理_实现低功耗
STM32 的电源简介STM32 有专门的电源管理外设监控电源并管理设备的运行模式,确保系统正常运行,并尽量降低器件的功耗。电源监视器: STM32 芯片主要通过引脚 VDD 从外部获取电源,在它的内部具有电源监控器用于检测 VDD 的电压,以实现复位功能及掉电紧急处理功能,保证系统可靠地运行。1. 上电复位与掉电复位(POR 与PDR)当检测到 VDD 的电压低于阈值 VPOR 及 VP...原创 2019-02-19 11:41:37 · 4527 阅读 · 0 评论 -
STM32F429 >> 18. 电源管理_实现低功耗(Code)
睡眠进入睡眠的方式很简单:只需要调用WFI 或WFE 命令,在睡眠模式中,内核停止,但是所有外设,包括M4 核心的外设均处于工作状态中。唤醒睡眠的方式:任一中断;唤醒事件。// Wait For Interrupt__WFI();// Wait For Event__WFE();停止进入停止的操作为:调用 PWR_EnterSTOPMode(uint32_t PWR...原创 2019-02-19 15:12:18 · 1302 阅读 · 0 评论 -
STM32F429 >> 22. FMC_扩展外部SDRAM(Code)
本代码用型号为“IS42S16400J”的 SDRAM 芯片为 STM32 扩展内存。它的行地址宽度为 12 位,列地址宽度为 8 位,内部含有 4 个 Bank,数据线宽度为 16 位,容量大小为8MB。SDRAM 硬件连接图:SDRAM 与 STM32 相连的引脚非常多,主要是地址线和数据线。bsp_sdram.h/** ***************************...原创 2019-02-25 14:56:51 · 1762 阅读 · 0 评论 -
STM32F429 >> 19. RTC_实时时钟(Code)
配置及读取日期和时间此工程没有读取亚秒值。若想让时钟断电后持续计时,则不要使能RTC_Config() 函数中的后备域访问。bsp_rtc.h/** ****************************************************************************** * @file bsp_rtc.h * @author Waao...原创 2019-02-20 21:48:50 · 1923 阅读 · 0 评论 -
潘多拉STM32L475 >> 1.初探
开发板IO 引脚分配独立栏为Y 表示该IO 完全独立(不接其他任何外设或上下拉电阻),可通过一定方法达到完全独立使用该IO。注意事项开发板有两个 Micro USB 口,大部分情况下都是使用的 ST LINK Micro USB 口,这个接口有四个功能:供电、程序下载、仿真调试和串口调试。其中:程序下载和仿真调试需要安装 ST LINK 驱动才能正常使用(驱动在:光盘资料->...原创 2019-04-05 13:20:57 · 4484 阅读 · 0 评论 -
RT-Thread 内核学习 >> (二)动态内存堆的使用
简述堆栈栈(stack)由编译器自动分配释放堆(heap)一般由程序员分配和释放int a = 0; /* 全局初始化区 */char *p1; /* 全局未初始化区 */main(){ int b; /* 栈 */ char s[] = "abc"; /* 栈 */ char *p2; /* 栈 */ char *p3 = "123456"; /* 123456 在常量区...原创 2019-04-05 21:13:29 · 932 阅读 · 0 评论 -
STM32F429 >> 15. IWDG_独立看门狗
STM32 有两个看门狗,一个是独立看门狗,另一个是窗口看门狗独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位信号,即 IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。看门狗功能由 VDD 电压域供电,在停止模式和待机模式下仍能工作。IWDG...原创 2019-02-15 15:12:09 · 928 阅读 · 0 评论 -
STM32 >> 矩阵键盘(代码风格优美,简明易懂)
本文有关矩阵键盘的使用原理适用于所有微机控制器,同时也适用于所有规格的矩阵键盘。key.h/** ****************************************************************************** * @file bsp_key.h * @author Waao * @version V1.0.0 * @da...原创 2019-01-23 11:44:24 · 7241 阅读 · 15 评论 -
STM32F429 >> 5. 按键控制LED 开关
本工程板级支持包文件适用于野火stm32f429 开发板。本工程中涉及bsp_led.c, bsp_led.h 等文件,请前往STM32F429 >> 4. 使用固件库点亮LED进行查看bsp_key.c/** ****************************************************************************** * ...原创 2018-12-21 07:30:09 · 1183 阅读 · 0 评论 -
STM32F429 >> 6. RCC-使用HSE, HSI 配置时钟
本工程板级支持包文件适用于野火stm32f429 开发板。bsp_clk.c/** ****************************************************************************** * @file bsp_clk.c * @author Waao * @version V1.0.0 * @date 2...原创 2018-12-21 13:15:48 · 1492 阅读 · 0 评论 -
STM32F429 >> 1. LED_RGB
stm32f4xx.h//外设寄存器#define PERIPH_BASE ((unsigned int)0x40000000) //总线寄存器#define APB1PERIPH_BASE PERIPH_BASE#define APB2PERIPH_BASE (PERIPH_BASE + 0x00010000)#define AHB1PERIPH_...原创 2018-12-16 22:31:36 · 1034 阅读 · 0 评论 -
STM32F429 >> 7. 中断
STM32 的中断主要涉及两个部分,NVIC 和EXTINVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能;外部中断/事件控制器(EXTI)可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。EXTI 可分为两大功能:产生中断 和 产生事件当其产生中断时,其中断线路将输入信号输入到NVIC,进一步运行中断服务函数,实现功能;而当其产生事件时,则是...原创 2018-12-22 09:50:28 · 1031 阅读 · 1 评论 -
STM32F429 >> 8. 系统定时器
bsp_systick.c/** ****************************************************************************** * @file bsp_systick.c * @author Waao * @version V1.0.0 * @date 22-Dec-2018 * @brief ...原创 2018-12-22 23:31:47 · 639 阅读 · 0 评论 -
STM32F429 >> 2. LED_Library_Function
本文代码已上传到GitHub:https://github.com/Waao666/STM32-2.-LED_Library_Functionmain.c#include <stm32f4xx.h>#include <stm32f4xx_gpio.h>int main(void){ GPIO_InitTypeDef InitStruct; RCC->...原创 2018-12-18 12:30:02 · 263 阅读 · 0 评论 -
STM32F429 >> 3. STM32 固件库
CMSIS 标准中最主要的为 CMSIS 核心层,它包括了:内核函数层:其中包含用于访问内核寄存器的名称、地址定义;设备外设访问层:提供了片上的核外外设的地址和中断定义。库目录,文件简介在STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 文件中:Libraries:文件夹下是驱动库的源代码及启动文件。Project :文件夹下是用驱动库写的例子和工程模板。...原创 2018-12-18 12:58:53 · 3262 阅读 · 0 评论 -
STM32F429 >> 9. USART_串口通讯
串口通讯是一种设备间常用的串行通讯方式通讯协议基本分为物理层和协议层:物理层:规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体间的传输;协议层:主要规定通讯逻辑,统一收发双方的数据打包、解包标准。物理层主要分析RS-232该通讯方式中,两个通讯设备的“DB9接口” 之间通过串口信号线建立起连接,串口信号线中使用“RS-232标准” 传输数据信号。由于RS-232...原创 2018-12-29 23:28:39 · 3886 阅读 · 0 评论 -
有关STM32 外设USART 的一个小问题
今天在调试USART 时,偶然发现了USART 数据寄存器状态是可以被打断的,即数据A 在发送过程中当出现了其他的数据寄存器请求B 时,该数据A 的发送会被中断,然后A 不能发送出来,而B 会被正常发送。...原创 2019-01-01 23:27:38 · 347 阅读 · 0 评论 -
STM32F429 >> 10. DMA_直接存储器访问
DMA 传输实现高速数据移动过程无需任何CPU 操作控制其支持以下三种传输方式:外设到存储器传输;存储器到外设传输;存储器到存储器传输。功能框图:① 外设通道选择DMA1 请求映射:DMA2 请求映射:每个外设请求都占用一个数据流通道,相同外设请求可以占用不同数据流通道。② 仲裁器仲裁器管理数据流方法分为两个阶段。第一阶段属于软件阶段,我们在配置数据流时可以通...原创 2019-01-12 09:04:44 · 1591 阅读 · 0 评论 -
STM32F429 >> 12. I²C 通讯(Code)
I²C 详细讲解在https://blog.csdn.net/weixin_40973138/article/details/86498401硬件I²C在此我们使用硬件I²C 通讯,即使用I²C 外设帮助我们控制数据的发送和时钟的规律跳变。若是使用模拟I²C 即是51 风格的编程,用程序手动控制两根总线的数据和时钟变化。编程指南初始化I²C GPIO引脚;初始化I²C;根据事件相应...原创 2019-01-17 21:09:54 · 588 阅读 · 0 评论 -
STM32F429 >> 13. SPI 通讯
SPI 物理层SPI 通讯使用3 条总线及片选线,3 条总线分别是SCK、MOSI、MISO,片选线为SS,其作用分别为:SS:片选信号线,也称NSS、CS。当有多个SPI 从设备与SPI 主机相连时,设备的其他信号线 SCK、MOSI及 MISO同时并联到相同的 SPI总线上,即无论有多少个从设备,都共同只使用这 3 条总线;而每个从设备都有独立的这一条 NSS 信号线,本信号线独占主机的...原创 2019-01-20 18:08:34 · 3867 阅读 · 0 评论 -
STM32F429 >> 13. SPI 通讯(code)
SPI 详细教程在这bsp_spi_flash.h/** ****************************************************************************** * @file stm32f4xx_spi.h * @author MCD Application Team * @version V1.5.1 * @...原创 2019-01-20 18:14:42 · 1042 阅读 · 0 评论 -
STM32F429 >> 11. ADC 模数转换
本工程板级支持包文件适用于野火stm32f429 开发板。STM32F429IGT6 有 3 个 ADC,每个 ADC 有 12位、10 位、8 位和 6位可选,每个ADC 有 16个外部通道。另外还有两个内部 ADC 源和 V BAT 通道挂在 ADC1上。ADC具有独立模式、双重模式和三重模式。ADC 功能框图1. 电压输入范围ADC 输入范围为:V (REF-) ≤ V (I...原创 2019-01-15 14:21:16 · 6193 阅读 · 0 评论 -
STM32F429 >> 14. TIM_(二)_高级定时器
高级控制定时器(TIM1 和 TIM8)和通用定时器在基本定时器的基础上引入了外部引脚,可以输入捕获和输出比较功能。高级控制定时器时基单元包含一个 16 位自动重载计数器 ARR,一个 16 位的计数器CNT,可向上/下计数,一个 16 位可编程预分频器 PSC,预分频器时钟源有多种可选,有内部的时钟、外部时钟。还有一个 8 位的重复计数器 RCR,这样最高可实现 40 位的可编程定时。STM...原创 2019-01-31 14:15:56 · 4002 阅读 · 0 评论 -
STM32F429 >> 12. I²C 通讯
本工程板级支持包文件适用于野火stm32f429 开发板。I²C 物理层一个I²C 总线只使用两条总线线路,一条双向串行数据线(SDA),一条串行时钟线(SCL)。I²C 协议层1. I²C基本读写过程其中黑色表示数据由主机传输至从机。S 表示传输开始信号;SLAVE_ADDRESS 表示从机地址;白色表示数据由从机传输至主机。R/W 表示传输方向选择位,1为读,0为写;A/A 表...原创 2019-01-16 20:39:52 · 1005 阅读 · 0 评论 -
STM32F429 >> 4. 使用固件库点亮LED
在这一节的当中,最核心的内容就两点:学会创建自己的项目;学会创建板级支持包;STARTUP :放置启动文件STM32F4xx_StdPeriph_Driver 和CMSIS :放置库文件,不需要改动DOC :放置说明文件USER :放置用户创建或要进行改动的文件bsp_led.h#include &amp;amp;amp;amp;amp;quot;stm32f4xx.h&amp;amp;amp;amp;amp;quot;#define LED1_原创 2018-12-20 19:26:17 · 1517 阅读 · 0 评论