找回密码
 立即注册
查看: 49|回复: 6

为什么STC32G12K128 USART2做SPI无法通信?

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:23
  • 最近打卡:2026-03-07 08:49:17
已绑定手机

6

主题

11

回帖

110

积分

注册会员

积分
110
发表于 6 天前 | 显示全部楼层 |阅读模式
/*
P15-->>CLK :推挽输出
P13-->>MOSI:推挽输出
P14-->>MISO:高阻输入
P54-->>CSN :推挽输出
---------------------------
SPI初始化,主机
*/
void SPI_Init(void)
{
        P1M0=0x28;
        P1M1=0x10;
       
        P5M0=0x10;
        P5M1=0x00;
       
        P_SW3&=~0x30;     //选择SPI功能引脚
        S2CON=0x10;       //允许串口2接收数据,工作模式0
        USART2CR1=0x10;   //MSB;USART SPI模式使能;主机模式;CPOL 0,CPHA 0(Mode0);
        USART2CR4=0x00;   //SPI速度SYSCLK/4=6MHz;
        USART2CR1|=0x08;  //使能SPI功能
        S2TI=0;
       
        SPI_W_CSN(1);       
}
/*
USART2_SPI交换字节(SPI Mode0)
Byte:SPI发送字节
return:SPI接收字节
*/
uint8 USART2_SPI_SwapByte(uint8 Byte)
{
        S2BUF=Byte;   
        while(S2TI==0);//等待数据完成
        S2TI=0;        //清除S2TI
       
    return S2BUF;
}


void main(void)
{
        System_Init();
        LCD1602_Init();
        SPI_Init();
        //主机

        while(1)
        {
                SPI_W_CSN(0);
                *ReceiveData=USART2_SPI_SwapByte(0x01);
                SPI_W_CSN(1);
                Delay_ms(500);
        }
}

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2026-03-07 12:55:14

842

主题

1万

回帖

2万

积分

管理员

积分
22606
发表于 6 天前 | 显示全部楼层
截图202603011709251612.jpg


截图202603011710082527.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2026-03-07 12:55:14

842

主题

1万

回帖

2万

积分

管理员

积分
22606
发表于 6 天前 | 显示全部楼层
截图202603011710462188.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2026-03-07 12:55:14

842

主题

1万

回帖

2万

积分

管理员

积分
22606
发表于 6 天前 | 显示全部楼层
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:23
  • 最近打卡:2026-03-07 08:49:17
已绑定手机

6

主题

11

回帖

110

积分

注册会员

积分
110
发表于 6 天前 | 显示全部楼层
有没有用过的朋友帮我看一下
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:467
  • 最近打卡:2026-03-07 15:12:16
已绑定手机

102

主题

4134

回帖

9097

积分

荣誉版主

无情的代码机器

积分
9097
发表于 5 天前 | 显示全部楼层

https://www.stcaimcu.com/data/do ... -DEMO-CODE-V9.6.zip
测试这个:78-USART1复用SPI与USART2复用SPI相互通信例程
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:23
  • 最近打卡:2026-03-07 08:49:17
已绑定手机

6

主题

11

回帖

110

积分

注册会员

积分
110
发表于 5 天前 | 显示全部楼层
系统时钟24MHz
改为 USART2CR4=0x01;   //SPI速度SYSCLK/8=3MHz;
已解决!!!
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-7 16:50 , Processed in 0.118006 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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