zoukankan      html  css  js  c++  java
  • [国嵌攻略][158][SPI裸机驱动设计]

    SPI控制器工作流程

    SPI控制器提供2个SPI接口。每个SPI接口有两个通道,分别为TX通道和RX通道。CPU要写数据到FIFO中,先写数据到SPI_TX_DATA寄存器中,这样此寄存器中的内容就会自动移动到发送FIFO中;同理,如果CPU要从接收FIFO中读取数据,就访问寄存器SPI_RX_DATA,紧接着接收FIFO的数据就会自动移动到SPI_RX_DATA寄存器中。

    OK6410 SPI裸机程序分析

    //SPI初始化

    u8 SPI_Init(){

    //SPI复位

    CH_CFG0 |= BIT5;   //SPI软复位

       

    //设置引脚

    rGPCCON &= ~0xFFFF;

    rGPCCON |= 0x2222;

    //配置CFG寄存器

    CH_CFG0 = 0b0111;

    //配置MODE_CFG0

    MODE_CFG0 = (63<<11);

    //设置时钟

    CLK_CFG0 = 100;

    CLK_CFG) |= 1<<8;

    return 0;

    }

    //SPI读写

    u32 SPIx_ReadWriteData(u32 TxData){

    do{

    temp = (SPI_STAS0>>6) & 0x7F;   //获取发送FIFO数据数量

    }whlie(temp > 63);   //发送FIFO满了,等待

    SPI_TXDATA0 = TxData;   //发送数据

    do{

        temp = (SPI_STAS0>>13) & 0x7F;   //获取接收数据数量

    }whlie(temp == 0);   //接收FIFO为空,等待

    return SPI_RXDATA0;

    }

  • 相关阅读:
    iota妙用
    io
    http
    gosched
    go设置使用多少个cpu
    go协程的特点
    go条件变量同步机制
    Go奇技淫巧
    U5首次登录
    Maven安装中的问题
  • 原文地址:https://www.cnblogs.com/d442130165/p/5292795.html
Copyright © 2011-2022 走看看