ARM
深海章鱼
这个作者很懒,什么都没留下…
展开
-
正点原子战舰v3笔记(5)外部中断
STM32的每个IO都可以作为外部中断输入。STM32的中断控制器支持19个外部中断/事件请求:线0~15:对应外部IO口的输入中断。 (这里特别注意)线16:连接到PVD输出。线17:连接到RTC闹钟事件。线18:连接到USB唤醒事件。每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。从上面可以看出,STM32供IO使用的中断线只有16个,但是STM32F10x系列的IO口多达上百个,STM32F103ZET6(112),STM32F103R原创 2020-06-16 09:39:46 · 790 阅读 · 0 评论 -
正点原子战舰v3笔记(4)串口和中断代码
优先级笔记void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup){assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup;}NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置优先级分组//输入参数范围#def原创 2020-06-14 15:56:03 · 1797 阅读 · 0 评论 -
stm32f103库函数
注意:外设(包括GPIO)在使用之前,几乎都要先使能对应的时钟。每组IO口含下面7个寄存器, 也就是7个寄存器, 一共可以控制一组GPIO的16个IO口 - GPIOx_CRL :端口配置低寄存器 - GPIOx_CRH:端口配置高寄存器 - GPIOx_IDR:端口输入寄存器 - GPIOx_ODR:端口输出寄存器 - GPIOx_BSRR:端口位设置/清除寄存器 - GPIOx_BRR :端口位清除寄存器原创 2020-06-11 10:14:41 · 2986 阅读 · 0 评论 -
正点原子战舰v3笔记(3)时钟系统
重要的时钟SYSCLK (系统时钟)AHB 总线时钟APB1 总线时钟 (低速) :速度最高36MHzAPB2 总线时钟 (高速) :速度最高72MHzPLL时钟时钟寄存器配置STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。 ①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。 ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功原创 2020-06-05 11:38:55 · 1198 阅读 · 0 评论 -
正点原子战舰v3笔记(2)MDK中寄存器地址名称映射分析
MDK中寄存器地址名称映射分析原创 2020-06-03 22:28:30 · 309 阅读 · 0 评论 -
正点原子战舰v3笔记(1)Led灯试验
写跑马灯试验步骤,第一步:先使能io口的时钟,在使用stm32几乎所有的外设,包括io口之前,我们都要使能时钟 ,也就是说,我们要使用gpioA,那么我要使能GPIOA对应的时钟,这个时钟实际上是操作相关的寄存器,对应的位,把它设置为1,外设就开启了没,,否则你外设开启不了,你是无法使用它的,。第二步:调用GPIO初始化函数去,对GPIO初始化第三步:控制GPIO口输出高电频,还是低电频,...原创 2020-05-30 12:36:10 · 1530 阅读 · 0 评论 -
讯为学习笔记3 HelloWorld
-static 意思是静态编译 把库直接编译进去 不需要调用开发板的库原创 2020-03-08 19:01:38 · 93 阅读 · 0 评论 -
制作最小Linux系统文件学习
制作文件系统我们需要使用到Busybox 工具– 版本为busybox-1.21.1.tar.bz2 – 开源网址是http://www.busybox.net/ – BusyBox 是一个集成了一百多个最常用linux 命令和工具的软件,包含常用的shell命令配置Busybox• 在Ubuntu下新建目录,将Busybox 压缩包拷贝进去,并解压• 使用“make menuconfi...原创 2020-03-08 15:20:45 · 208 阅读 · 0 评论 -
开发板学习笔记2
拨码开关得位置决定了开发板的启动方式和所支持的屏幕 , 拨码开关靠近数字的一侧是 0 , 靠近字母的一侧是 1 .原创 2020-03-04 12:53:26 · 259 阅读 · 0 评论 -
开发板学习笔记1
BootLoader 是一个引导程序, 也就是在硬件复位以后 第一个要执行的程序 , 它的主要工作就是初始化操作系统运行的环境, 比如说内存 , 如果内存不对它初始化的话它是不能工作的 , 那么当这个工作做完以后 最后会把操作系统的这个代码加载到内存 , 那么这个操作系统可能是在硬盘上可能在其他的介质上 bootLoader 会把这个操作系统代码加载到内存, 然后操作系统就可以启动执行了,...原创 2020-03-02 13:43:10 · 334 阅读 · 0 评论 -
i2c 传输地址是 7位 那一位表示什么 ?
i2c 传输地址是 7位 那一位表示 方向 , 7位表示地址 , 另外一位表示方向RW 意思是我是往这里写数据, 还是从这里读数据原创 2020-02-25 14:50:07 · 877 阅读 · 0 评论 -
ARM基础(5) ARM通讯接口
设备间进行通信实现得话,如果把之前得等当成是一个设备得话, 那我们要控制一个灯得话, CPU是不是有一根线接到灯上, 使这个管脚输出 高电频和低电频控制这个灯亮, 控制灯得操作 ,那怎么才能实现通讯,最起码要有一根线, 那一根线怎么实现通讯, 我们CPU里面有个0x05如果从CPU传递到我们设备这里是如何做到得 ? CPU线可以把某一个管脚控制输出高电频和低电频状态 , 高1 和 低0 ,...原创 2020-01-09 21:13:22 · 1296 阅读 · 0 评论 -
ARM基础(4) ARM体系结构及接口
裸机开发 :就是在硬件上面直接运行我们得程序 , 控制我们相关得硬件 , 这个程序执行过程中它是没有再去细分得只有一层, 没有应用层, 内核层, 硬件层之分. 直接访问得是硬件地址, 最典型得就是单片机开发, 裸机开发就是没有操作系统 .比如通过CPU控制外面的串口设备蜂鸣设备等等, 都是通过一些寄存器, 要看懂寄存器, 首先要看懂它的芯片手册, 看完芯片过后我们要去编程 , 汇编和C ,...原创 2019-12-13 16:38:11 · 849 阅读 · 0 评论 -
ARM基础(3) 异常处理
比如手机正常往下运行,执行过程中突然来了一个突发得事件, 比如说一个电话进来了,打断当前程序执行, 比如你正在玩游戏, 打完电话,你再回来接着玩游戏, 异常拿来处理我们软件能够处理应对突发事件得一种机制,异常处理在整个嵌入式底层开发当中必不可少的, 我们很多产品外面都会接到很多CPU上面, ,我们怎么去处理设备能够直接响应,应对突发事件的 一种机制比如说我们在处理一件事情, 突然 间起火了,...原创 2019-12-10 15:50:26 · 349 阅读 · 0 评论 -
ARM基础(1) 基本概念
主要用于嵌入式产品里面原创 2019-10-16 11:42:33 · 1090 阅读 · 0 评论