找回密码
 立即注册
查看: 375|回复: 3

AI8051U SPI DMA使用请教

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2024-12-02 11:29:43

7

主题

15

回帖

131

积分

注册会员

积分
131
发表于 2024-10-11 16:10:48 | 显示全部楼层 |阅读模式
诸位大佬,

     AI8051U SPI DMA,读取和写入,配置是一样的,它是怎样识别自动写入 or 读取的,规格书反了几遍也没弄明白,哪位大佬指导下,感谢!
// 读取


void SPI_Read_Nbytes(u32 addr, u16 len)
{
//    u8  i;
    if(len == 0)   return;
    if(!B_FlashOK)  return;
    while(SpiDmaFlag);                     //DMA忙检测
    while(CheckFlashBusy() > 0);        //Flash忙检测

    SPI_CE_Low();                       //enable device
    SPI_WriteByte(SFC_READ);            //read command

    SPI_WriteByte(((u8 *)&addr)[1]);    //设置起始地址
    SPI_WriteByte(((u8 *)&addr)[2]);
    SPI_WriteByte(((u8 *)&addr)[3]);

    SpiDmaFlag = 1;
    DMA_SPI_AMT = (u8)(len-1);         //设置传输总字节数(低8位):n+1
    DMA_SPI_AMTH = (u8)((len-1) >> 8); //设置传输总字节数(高8位):n+1
    DMA_SPI_CR |= 0x40;     //开始SPI_DMA主模式操作
}

// 写入

void SPI_Write_Nbytes(u32 addr, u16 len)
{
    if(len == 0)   return;
    if(!B_FlashOK)  return;
    while(SpiDmaFlag);                     //DMA忙检测
//    while(CheckFlashBusy() > 0);        //Flash忙检测

    FlashWriteEnable();                 //使能Flash写命令

    SPI_CE_Low();                       // enable device
    SPI_WriteByte(SFC_PAGEPROG);        // 发送页编程命令
    SPI_WriteByte(((u8 *)&addr)[1]);    //设置起始地址
    SPI_WriteByte(((u8 *)&addr)[2]);
    SPI_WriteByte(((u8 *)&addr)[3]);

    SpiDmaFlag = 1;
    DMA_SPI_AMT = (u8)(len-1);         //设置传输总字节数(低8位):n+1
    DMA_SPI_AMTH = (u8)((len-1) >> 8); //设置传输总字节数(高8位):n+1
    DMA_SPI_CR |= 0x40;     //开始SPI_DMA主模式操作
}

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-10-12 10:24:51 | 显示全部楼层
SPI的收发是同步执行的,主机模式MOSI在发送的同时,MISO也在读取。
发送完成的同时,读取也同样完成。
所以读取和写入,配置是一样的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2024-12-02 11:29:43

7

主题

15

回帖

131

积分

注册会员

积分
131
发表于 2024-10-16 11:18:14 | 显示全部楼层
乘风*** 发表于 2024-10-12 10:24
SPI的收发是同步执行的,主机模式MOSI在发送的同时,MISO也在读取。
发送完成的同时,读取也同样完成。
所 ...

理解了,感谢!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:154
  • 最近打卡:2025-04-30 08:40:57
已绑定手机

15

主题

630

回帖

730

积分

高级会员

积分
730
发表于 2024-11-4 08:22:26 来自手机 | 显示全部楼层
学习了
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:45 , Processed in 0.160856 second(s), 70 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表