找回密码
 立即注册
查看: 667|回复: 2

有没有串口2的SPI模式使用方法或者教程?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-09-06 16:42:37

7

主题

6

回帖

117

积分

注册会员

积分
117
发表于 2024-2-27 16:28:32 | 显示全部楼层 |阅读模式
模仿数据手册里的例程进行了如下配置,无论是输出还是输入,MOSI、MISO和SCLK都没有信号
是不是漏配置了什么?







void usart2_spi_init()
{
    P4_MODE_IO_PU(GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_3);
    P5_MODE_IO_PU(GPIO_Pin_4);
   
   
    // 00 S2SS P1.2/P5.4 S2MOSI P1.3  S2ISO P1.4 S2SCLK P1.5
    // 01 S2SS P2.2      S2MOSI P2.3  S2ISO P2.4 S2SCLK P2.5
    // 10 S2SS P5.4      S2MOSI P4.0  S2ISO P4.1 S2SCLK P4.3 (启用)
    // 11 S2SS P7.4      S2MOSI P7.5  S2ISO P7.6 S2SCLK P7.7
    S2SPI_S0 = 0; //低位   
    S2SPI_S1 = 1; //高位
   

   
   
    S2CON = 0x10;//使能串口2接收,且调整串口模式为模式0(必须)
   
   
    USART2CR1 = 0x10;    //使能SPI模式
   
   
//    USART2CR1 |= 0x40;   //1: LSB  0: MSB
    USART2CR1 &= ~0x40;    //1: LSB  0: MSB
      
   
//    USART2CR1 |= 0x04;     //固定为从机
    USART2CR1 &= ~0x04;  //固定为主机
   
   
//    USART2CR1 |= 0x00;   //CPOL = 0 CPHA = 0
//    USART2CR1 |= 0x01;   //CPOL = 0 CPHA = 1
//    USART2CR1 |= 0x02;   //CPOL = 1 CPHA = 0
    USART2CR1 |= 0x03;   //CPOL = 1 CPHA = 1


    USART2CR4 = 0x00;//SPI速度为SYSCLOCK/4
//    USART2CR4 = 0x01;//SPI速度为SYSCLOCK/8
//    USART2CR4 = 0x02;//SPI速度为SYSCLOCK/16
//    USART2CR4 = 0x03;//SPI速度为SYSCLOCK/2


    USART2CR1 |= 0x08;//使能SPI2
   
   
   
    ES2 = 1;//串口2中断允许位
   
}


void spi2_isr() interrupt UART2_VECTOR
{
    if(S2TI)
    {
        S2TI = 0;
        spi2_flag.spi2_Tbusy = 0;
    }
    if(S2RI)
    {
        S2RI = 0;
        S2BUF = spi2_Rbuffer[spi2_count.Rcount1++];
        spi2_flag.spi2_Rbusy = 0;
    }
   
   
}


void spi2_write_byte(u8 dat)
{
    SPI_CS_0;
    S2BUF = dat;
    spi2_flag.spi2_Tbusy = 1;
    while(spi2_flag.spi2_Tbusy);
    SPI_CS_1;
}

void spi2_read_byte()
{
    spi2_flag.spi2_Rbusy = 1;
    S2BUF = 0xFF;   
    while(spi2_flag.spi2_Rbusy);   
}




回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2024-2-27 16:50:28 | 显示全部楼层
看下官网的视频教程,视频里有讲解哦~
回复 支持 反对

使用道具 举报 送花

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

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-2-27 17:59:45 | 显示全部楼层
可以参考STC32G实验箱例程包:78-USART1复用SPI与USART2复用SPI相互通信例程
论坛下载地址:
https://www.stcaimcu.com/plugin. ... /~cateid=5&key=
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 06:01 , Processed in 0.108371 second(s), 64 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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