-
串口
串口第55章最高位5MHz格式空闲位: 逻辑1起始位: 逻辑0数据位: 可以循着5-8位奇偶校验位: 可以不使用停止位: 传输结束可以选择1, 1.5, 2位高电平波特率: 传输数据的速率, 每秒传递的数据位寄存器UARTx_URXD: 串口接收到的寄存器保存的位置, 最低的8位UARTx_UTXD: 数据发送寄存器, 发送的时候写入最低的8位UARTx_UCR1-4: 控制器. UARTx_UCR1, bit0使能, bit14自动检测波特率, 1的时候使能, UARTx_UCR2: b...…
-
RGBLED
RGBLED简介 像素点, 分辨率: 略 尺寸不变, 分辨率越高显示的效果越好 PPI: 屏幕对角线的像素点数目, 除以对角线的英寸数字 像素格式: 对RGB颜色进行量化, 每一种使用8bit进行表示描述颜色, 现在也流行10bit, HDR10支持HDR效果的10bit面板, 在RGB888基础上再加上ALPHA通道也就是透明通道ARGB888 屏幕接口, RGB格式的屏幕一般为RGB接口屏 接口有MIPI, LVD...…
-
DDR3
DDR3由于芯片内部的SRAM太小, 所以需要外界的RAM, 就是DDR内存发展历史 RAM: 随机存储器, 可以对任意地址进行操作, 比如内存条、SRAM、SDRAM、DDR等都是RAM。 ROM:只读存储器, ROM是Flash,比如EMMC或UFS存储器, 因为历史原因,很多人还是将Flash叫做ROM。但是EMMC和UFS,甚至是NAND Flash,这些都是可以进行写操作的 SRAM: 静态随机存储器, 最开始的是芯片内部的, 后来由于内存不...…
-
GPT时钟
GPT时钟使用一个硬件来实现高精度延时32位向上计数器, 可以捕获外部信号, 通过上升下降沿触发, 支持比较输出, 一共有三个通道, 以及产生中断12位分频器, 可以使用ipg_clk=66MHz两种运行模式: restart模式: 达到之后就重新开始计数, 只用于比较通道1 freerun模式: 三个输出比较通道都使用, 但是不会回到0, 加满以后返回有几种中断: 溢出中断, 计数满了的时候触发 输入捕获中断 输出比较中断 GPTx_CR: 用来配置bit0使能为, bit1...…
-
中断
EPIT定时器第24章提供周期性的中断, 只能做定时器, 一共有两个是一个32位的向下计数器, 没一个周期减一, 可以选择ipg_clk, 被配置为66MHz可以对时钟源进行分频, 有一个12位的分频器1-4096有三个寄存器, 计数寄存器, 比较寄存器, 重加载寄存器开启以后计数寄存器每一个时钟周期减一, 如果和比较相等就会产生中断或者某个引脚产生一个信号有两种工作模式, set-and-forget模式:从加载寄存器EPITx_LR中获取初始值,不能直接向计数器寄存器写入数据...…
-
主频时钟配置
主频时钟配置初始化默认为396M, 最高792M时钟来源时钟晶振1, 32.768kHz, 供给给RTC实时时钟使用晶振2, 在T16和T17上有一个24MHz的晶振时钟的构成手册18章首先是7路PLL, 为了方便生成时钟, 从24MHz生成的, 有的再次生成PFD时钟树: PLL==>PFD==>外设 PLL1(ARMPLL): 650MHz-1.3GHz, 提供给ARM内核的 PLL2(System PLL, 528PLL): 528MHz, 这个是固定的, 分出四路P...…
-
中断
中断stm32中断ARM芯片从0x00000000开始运行, 最开始的时候设置有中断向量表, 用于主要用来记录中断对应的中断函数代码最开始的地方存放堆栈栈顶指针, 之后存放各种中断函数中断向量偏移ARM从0x00000000开始的但是stm32是从0x80000000地址开始的, 如果代码一定要从别的位置开始, 就需要告诉内核, 设置中断向量偏移,设置内核SCB的VTOR寄存器为新的中断向量表起始地址就可以了NVIC终端管理使能关闭终端, 设置优先级中断服务函数的编写Cortex-A7中断...…
-
模仿stm32编程
模仿stm32编程stm32寄存器结构体使用一个结构体把所有的结构体放在一起清空bss段.global _bss_start_bss_start: .word __bss_start.global _bss_end_bss_end: .word __bss_end _bss_start: 相当于变量的值 .word就是在这里放了一个值 ldr r0, _bss_start; ldr r1, _bss_end; mov r2, #0 bss_loop: ...…