-
存储器(I2C)
存储器常用的存储器一般来说易失性存储器存储的速度比较快RAM随机存储器随机读取任意地址, 现在一般专用于半导体种类的易失存储器 DRAM动态随机存储器=>硬盘, 动态的, stm32f10x不能使用, 因为没有刷新用的电路 使用电容的电荷表示, 会有放电, 写入之后会掉电, 导致出错, 需要有一段时间就进行充电或者放电 存储速度慢, 集成度高, 生产成本低, 需要刷新由于通讯方式不同有进行分类在时钟线上升沿或者下降沿判断数据有效, SDRAM上升沿的时候判断数据有效, DDRI...…
-
Flash(SPI)
Flash(SPI)是一种全双工的协议, 传输的速率比较较高SS(CS): 设备选择线, 片选信号, 每一个从机都有一根SS线, 低电平表示选中SCK: 时钟, 用于信号的同步, STM32支持的最大频率为F~pclk~/2MOSI: 主机输入, 从机发送MISO: 主机发送, 从机接收SPI1在APB2上面, SPI2/3在APB1上面 高位字节先行 时钟相位: 设备处于空闲状态的时候, SCK时钟线的电平状态, CPHA指数据采样的时刻, CPHA=0的时候会在奇数边沿采样, CP...…
-
DMA
DMA直接存储器访问, 主要的功能是数据的搬运, 不占用CPUDMA1: 有七个通道, 可以实现P->M, M->P, M->M(M是内存, P是外设)DMA2: 五个通道, 只存在于大容量或者互联型STM实现在使用M->M的时候所有的通道都可以使用在实际使用的时候涉及优先级, 可以使用软件控制DMA_CCRx的PL, 之后还有硬件优先级, DMA1优先级高于DMA2寄存器 DMA_ISR: 中断状态寄存器 DMA_IFCR: 中断标志位清除寄存器 DMA_C...…
-
SysTick
SysTick系统定时器, 24位只能递减计时, 位于内核, 嵌套在NVIC中, 所有的Cortex-M内核手册中描述很少, 在内核手册中有描述4.5.1 STK_CTRL STK_LOAD STK_VAL STK_CALIB 还有一个校准寄存器, 固定值为9000函数在文件core_cm3.h文件中typedef struct{ __IO uint32_t CTRL; /*!< Offset: 0x00 SysTick C...…
-
串口通讯
串口通讯通讯原理 传送方式: 并行串行串行: USART, I2C, SPI只有一两根数据线并行: SDIO, FSMC 通信的方向全双工: 同时收发数据USART, SPI半双工: 不可同时收发数据, 分时收发数据SPI单工: 任何时候都是固定一个方向传输 同步方式同步: 有时钟信号, 效率比较高, 对时钟允许误差比较小异步: 没有时钟信号, 加上辅助标志符 速率比特率bit/s, 每秒二进制数的位数波特率: 每秒传输的码元个数0V-3.3V一个二进制位为一个码元用多种不同的电压...…
-
311
设备文件设置{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/home/jiao/linux/IMX6ULL/linux/linux-imx-...", //这里是头文件路径 "/home/jiao/linux/...…
-
中断
中断中断有优先级, 数字越小优先级越高 系统异常: 内核水平 外部中断: 外设水平有10个系统异常, 60个外设中断控制NVIC: 嵌套向量中断控制器, 属于内核外设在文件STM32F10xxxx Cortex-M3编程手册中内核的寄存器定义在core_cm3.h文件typedef struct{ __IO uint32_t ISER[8]; /*!< Offset: 0x000 Interrupt 使能寄存器 *...…
-
时钟
时钟来源HSE(High Speed External Clock signal)外部高速时钟,通过OSC_OUT和OSC_IN两个引脚还有一个内部的HSI, 精度比较小, 受温度影响, 被RCC_CR寄存器控制故障的时候自动使用HSI, 直到HSE启动成功也是由寄存器控制寄存器RCC_CR: HSE, HSI, PLL的使能, HSI的频率安全时钟使能RCC_CFGR:时钟的选择以及分频RCC_CLR: 时钟中断RCC_APB2RSTR: APB2复位寄存器RCC_APB1RSTR: A...…