随笔分类 - 嵌入式
1
摘要:0. 枚举流程 • 连接了设备的 HUB 在 HOST 查询其状态改变端点 时返回对应的 bitmap,告知HOST 某个PORT状态发生了改变。 • 主机向 HUB 查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性。 • 主机等待(至少 100mS)设备上电稳定,然后向 HUB 发送
阅读全文
摘要:一,窗口看门狗 二,喂狗注意事项 三,程序设计 1.检查复位状态,有助于观察当前工作的可靠性 2. 看门狗的初始化 3. 看门狗中断服务函数 #include "stm32f4xx.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" #
阅读全文
摘要:一,独立看门狗 二,独立看门狗的时钟源 独立看门狗拥有自己的时钟源,不依赖PLL时钟输出的分频信号,能够独立运行,这样子的好处就是PLL假如受到干扰, 导致运行异常,独立的看门狗还能正常地进行工作,如果没有正常的喂狗动作,就复位CPU。 三、程序设计 1. 添加复位检测代码,有助于观察当前工作的可靠
阅读全文
摘要:一,LED状态 二,蓝牙模块有两种通信模式 1,AT指令模式 2,数据透传模式 三、AT指令程序设计 1、设置模块的名字 #include "stm32f4xx.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" #include "s
阅读全文
摘要:一、串口概述 1. 定义 串口通信是一种设备间非常常用的串行,以比特位的形式发送或接收数据,电子工程师经常使用这种方式来调试数据。 2. 开发板硬件用于串口跟PC相连的时候有以下注意事项: A. 使用到usb转串口,所以得安装驱动 B. 跳线帽要进行短接 协议 二、程序设计 1. 设置引脚功能复用
阅读全文
摘要:一、PWM概述 1、定义 PWM(Pulse Width Modulation),脉冲宽度调制。 脉冲:方波,频率 宽度:高电平的宽度,占空比 2、用途 控制灯光的亮度(手机/平板/显示器背光灯) 电机的转速 .... 3、灯光的控制细节 频率要大于25Hz,灯光的亮度的变化是跟着占空比而变化,占空
阅读全文
摘要:一、定时器 1. 定义 设置等待时间,到达后则执行指定操作的硬件。 2. STM32F407的定时器有以下特征 具有基本的定时功能,也有PWM输出(灯光控制、电机的转速)、脉冲捕获功能(红外捕捉)。 2个高级控制定时器、10个通用定时器和2个基本定时器 高级控制定时器(TIM1和TIM8) 具有16
阅读全文
摘要:一、系统定时器 SysTick叫做系统滴答时钟、系统定时器,属于Cortex-M4内核中的一个外设,它24bit向下递减的计数器 二、系统定时器的中断使用方法 1.代码的初始化 2. 中断服务函数的编写 3. 定时时间的计算 SysTick_Config(SystemCoreClock/频率); 让
阅读全文
摘要:一、启动文件,startup_stm32f40x_41xx.s 1、定义 启动文件由汇编编写,是系统上电复位后第一执行的程序。 2、特征 1)初始化堆栈指针,主要是为C语言提供良好的运行环境 2)进行复位处理,执行该Reset_Handler函数 3)初始化向量表,中断入口地址列表 4)配置系统的时
阅读全文
摘要:一、ARM Cortex-M4的中断体系 1、定义 中断,意味着中途打断现在干的事情,要处理紧急的事情。 1、定义 二、嵌套向量中断控制寄存器 STM32F4xx中文参考手册中文参考手册.pdf P233~P243 1、NVIC特性 无论是ARM Cortex M0/M3/M4 还是 ARM Cor
阅读全文
摘要:一、位带操作 1.意义 回想以前写51代码 P0 = 0x10; //将P0端口设置为0x10 P1_0=1; //将P1端口1号引脚设置为高电平 a = P2_2; //获取P2端口2号引脚的电平 一、位带操作 1.意义 根据上述的方法,我们可以发现快速定位修改某个引脚的电平还有获取引脚的状态 G
阅读全文
摘要:一、时钟体系 1、参考手册 STM32F4xx中文参考手册.pdf 第106页 2、时钟源a.可以使用三种不同的时钟源来驱动系统时钟 (SYSCLK),CPU运行的频率为168MHz:● HSI 振荡器时钟,也就是高速内部时钟,一般来说很少用,因为精度没有外部高速时钟那么高。● HSE 振荡器时钟,
阅读全文
摘要:1、创建完工程之后,会出现编译警告出错问题,解决方法可以参考以下注释,因此新建工程后,必须在工程选项卡当中,【C/C++】中的全局宏定义添加"USE_STDPERIPH_DRIVER",即这个定义控制了是否在应用中启用外设驱动。我们使用标准外设库本来就为了方便控制外设,所以要添加这个定义,以启用外设
阅读全文
摘要:一、定义 远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。 红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用, 并越来越多的应用到计 算机和手机系统中。随着家用
阅读全文
摘要:一,低功耗模式 如电脑 #include "stm32f4xx.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" #include "stm32f4xx_usart.h" #include "stdio.h" #include "sy
阅读全文
摘要:一,ADC 模拟信号 什么是模拟信号?主要是与离散的数字信号相对的连续的信号。模拟信号分布于自然界的各个角落,如每天温度的变化, 而数字信号是人为的抽象出来的在时间上不连续的信号。电学上的模拟信号是主要是指幅度和相位都连续的电信号, 此信号可以被模拟电路进行各种运算,如放大,相加,相乘等。模拟信号是
阅读全文
摘要:#include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" #include "includes.h" //任务1控制块 OS_TCB Task1_TCB; void task1(void *parg); CPU_S
阅读全文
摘要:一,前后台系统和RTOS 1,前后台系统 早期嵌入式开发没有嵌入式操作系统的概念 ,直接操作裸机,在裸机上写程序,比如用51单片机基本就没有操作系统的概念。通常把程序分为两部分:前台系统和后台系统。 简单的小系统通常是前后台系统,这样的程序包括一个死循环和若干个中断服务程序: 应用程序是一个无限循环
阅读全文
摘要:一,概述 二,信号概念 三,24C02 1.地址 2,写数据是时序图 3,读数据时时序图 #include <stdio.h> #include "stm32f4xx.h" #include "sys.h" #include "string.h" static GPIO_InitTypeDef GP
阅读全文
摘要:一,定义 数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。 缺点:没有指定的流控制,没有应答机制确认是否接收到数据。 二,单机与多机通信 1,单机通信 2,多机通信 三,通信细节与过程 在点对点的通信中, SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,
阅读全文
1