@IT·程序猿程序员首页投稿(暂停使用,暂停投稿)

嵌入式开发系列教程(一) MCU和外设

2017-03-16  本文已影响336人  qianlihu

MCU是什么

MCU即单片机指的是把中央处理器、存储器、定时器、各种输入输出接口都集成在一块集成电路芯片上的微型CPU。单片机与通用型CPU不同,通用型CPU如果要工作还需要内存、硬盘、输入输出设备等外接存储单元,而单片机只需要一个时钟发生电路便能正常工作了。

外设是什么

一般意义上的外设,指的是单片机的输入输出设备,例如模数转换器,定时器,串口,SPI,GPIO等。

MCU是怎么控制外设的

串口数据流


seriport-transfer

串口接收


seriport-work

可以把串口理解为一个单片机,运行的伪代码如下:

static int  BaudRate = 0;
static char Buf;
void Init(int baudrate)
{
    BaudRate = baudrate;
}

void Receive()
{
    if(BaudRate == 115200){
        ...
        Buf = xx;
    }
    else if(BaudRate == 19200){
       ...
       Buf = xx;
    }
    ...
}

void Notice() //通知CPU取数据
{
     ...
}

int main()
{
    Init(115200); 

    while(1){
        Receive();
        Notice(); //通知CPU拿走Buf中的数据
    }
}

我们来解答上边提出的问题

外设的寄存器

外设的寄存器,相当于外设运行所必备的RAM单元。为了能够和CPU通讯,挂载到了CPU的总线上。我们来看一张stm32f103的内存映射图

memory-map perpherals

总线

总线是指计算机组件间规范化的交换数据的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑(维基-总线)。

cortexM3-Bus

这是一个免费,开源的教程,如果你喜欢可以转发,也可以打赏奖励。 欢迎关注微信公众号小站练兵

上一篇 下一篇

猜你喜欢

热点阅读