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

STC32G12K128-SPI切换遇到问题 | 已解决

[复制链接]

1

主题

1

回帖

39

积分

新手上路

积分
39
发表于 2026-9-19 11:34:34 | 显示全部楼层 |阅读模式
    /* --- 1. 配置 SPI 引脚为推挽输出 --- */
    P1M0 |= 0x28;  P1M1 &= ~0x28;   // P1.3, P1.5
    P3M0 |= 0x14;  P3M1 &= ~0x14;   // P3.2, P3.4
    P3M0 |= 0x80;  P3M1 &= ~0x80;   // P3.7
    P5M0 &= ~0x10;  // 清除 P3.5, P3.6 的 P3M0 位
    P5M1 &= ~0x10;  // 清除 P3.5, P3.6 的 P3M1 位

        
    /* --- 2. 配置按键引脚为准双向模式 --- */
                KEY1=1;
                KEY2=1;
    P3M0 &= ~0x60;  // 清除 P3.5, P3.6 的 P3M0 位
    P3M1 &= ~0x60;  // 清除 P3.5, P3.6 的 P3M1 位

void SPI_HW_Init(u8 TDQH)
{
    if(TDQH==0){P_SW1 = (P_SW1 & 0xF3) | 0x00;}  /* SPI组0: P1.3-MOSI, P1.5-SCLK */
    if(TDQH==3){P_SW1 = (P_SW1 & 0xF3) | 0x0C;}  /* SPI组3: P3.4-MOSI, P3.2-SCLK */
               
                SPITOCR=0X20;
    SPCTL = 0xD0;                   /* SSIG=1, SPEN=1, MSTR=1, CPOL=0, CPHA=0 */
    SPCTL = (SPCTL & 0xFC) | 0x01;  /* 4分频 → 27M/2/4 = 3.375MHz */
    SPSTAT = 0xC0;                  /* 清除 SPIF 和 WCOL 标志 */
    SPDAT = 0;
}
驱动幻彩LED

切换到 P1.3 输出间隔相对正常,但切换到 P3.4 输出间隔就不正常了 使用的是硬件SPI输出!


P1.3输出

P1.3输出

P3.4输出

P3.4输出




回复

使用道具 举报 送花

1

主题

1

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2026-9-19 11:57:58 | 显示全部楼层
已解决,将MISO=0;
回复

使用道具 举报 送花

已绑定手机

872

主题

1万

回帖

2万

积分

管理员

积分
25432
发表于 2026-9-19 13:09:21 | 显示全部楼层
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-8 03:07 , Processed in 0.067011 second(s), 52 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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