MCU 如何控制外设

news/2024/12/27 22:32:25/

单片机如何控制外设

单片机不是直接控制外设的,而是通过配置片上外设寄存器来控制其输出和检测高低电平,进而控制外围器件

单片机如何配置寄存器的?

 下图是单片机驱动 点亮发光二极管

  1. 内核从flash里面加载读取指令。
  2. 内核根据指令到SRAM里面对应的地址读取数据,这些数据就是即将赋值给GPIO片上外设寄存器里的数据。
  3. 内核通过总线对GPIO寄存器赋值。
  4. 如果寄存器某一位为零,那么对应的IO口对应的一些开关电路就会输出低电平。LED另一端接高电平时,LED就会点亮。

单片机是如何找到寄存器的?

每个寄存器都有对应的地址,单片机通过地址访问寄存器,ARM寻址范围4GB(2的32次方=4G byte),分为多个块,片上外设对应的地址范围是0x4000 0000-0x6000 0000。

 C程序是如何实现访问寄存器的?

C程序通过指针访问寄存器,这也是指针嵌入式开发中的一个典型应用。

//访问GPIOG这一组IO口contrl0寄存器,赋值0xFFFFFFFF
#define APB2_BUS_BASE        ((uint32_t)0x40010000U)
#define GPIO_BASE            (APB2_BUS_BASE + 0x00000800U)
#define GPIOG                (GPIO_BASE + 0x00001800U)       //先定义GPIOG基地址,通过计算是0x40012000
#define GPIO_CTL0(gpiox)     REG32((gpiox) + 0x00U)          //再找到GPIO control 0 的寄存器地址,  就是在GPIOG的基础上,再加一个偏移地址。
#define REG32(addr)          (*(volatile uint32_t*)(uint32_t)(addr))GPIO_CTL0(GPIOG) = 0xFFFFFFFF;//展开上面这条赋值语句就是: *(volatile uint32_t*)0x40012000 = 0xFFFFFFFF


http://www.ppmy.cn/news/615720.html

相关文章

常用芯片外设扫盲

AI算法半路出家的过程其实是有点痛苦的,告别了曾经熟悉的领域,在陌生又熟悉的道路上摸索着前进,其中的焦虑、彷徨以及面对信息过载的不知所措,常常让人怀疑当初的选择。好在,硬核人生不会被小小的困难劝退,…

CPU与外设间数据传输方式

主要有程序传送方式、中断传送方式和直接存储器存取(DMA)传送方式,分别介绍如下。 1. 程序传送方式 程序传送方式是指直接在程序控制下进行数据的输入/输出操作。程序查询方式分为无条件传送方式和查询方式(条件传送方式)两种。 …

STM32外设

外设 1.认识2.外设------------1.内部外设; 2.外设。3.如何选择外设IO口 1.认识 STM32管脚40个,常见是整个最小系统板,具体介绍认识可自行百度 2.外设------------1.内部外设; 2.外设。 内部是单片机里集成的功能,外设是指单片机扩展的功能 …

单片机外设基本概念_单片机外设有哪些,外设功能是什么?

单片机外设有哪些? 单片机内部的外设一般包括:串口控制模块,SPI模块,I2C模块,A/D模块,PWM模块,CAN模块,EEPROM,比较器模块,等等,它们都集成在单片机内部,有相对应的内部控制寄存器,可通过单片机指令直接控制。 外设指的是单片机外部的外围功能模块,比如键盘控制芯…

计算机外设分为三类,电脑外设有哪些

电脑外设有哪些 导语:电脑外设就是除主机外的大部分硬件设备都可称作外部设备,或叫外围设备,简称外设。下面就来看看小编为大家整理的电脑入门知识,希望对您有所帮助! 外部设备大致可分为三类: 1.人机交互设备&#xf…

cpu与外设工作原理

总结来说,就是插上外设后,cpu就可以检测和连接到外设上的寄存器,把它当成内存来使用,然后就是对这些寄存器进行读写,写控制寄存器来控制外设,读状态寄存器来检测外设状态(外设会把当前状态信息放…

外设篇:时钟系统

SoC时钟系统简介 什么是时钟?SoC为什么需要时钟? (1)时钟是同步工作系统的同步节拍。 (2)SoC内部有很多器件,譬如CPU、串口、DRAM控制器、GPIO等内部外设,这些东西要彼此协同工作,需要一个同步的时钟系统来指挥。这个就…

常用外设总线

MCU的外设包括功能外设和通信外设。 功能外设包括:TIMER, 看门狗,中断控制器等。 通信外设包括:UART,SPI,I2C,USB,SDIO等。 MCU内部一般采用AMBA总线,包括AHB&#xff0c…