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

spi通讯失败

[复制链接]
  • TA的每日心情

    2023-12-22 10:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    3

    回帖

    77

    积分

    注册会员

    积分
    77
    发表于 2023-12-27 13:41:50 | 显示全部楼层 |阅读模式
    芯片选用是stc32g12k128,我使用SPI驱动74hc165和hc595,74hc165是读取按键键值,595是输出到LED数码管,muc做主机,硬件是没有问题的,用示波器看过波形,但软件配置不知道哪有问题,而且SPSTAT状态寄存器无法写入值(实例也一样),还有就是在全速运行下寄存器的值不能实时变化(包括变量,寄存器,keil的periodic window updata也勾上了),正常来说我按键按下muc就能收到165发送过来的按键信息,现在就是什么都没有,有没有大佬能看看哪有问题
    1. void        GPIO_config(void)
    2. {
    3.         P0_MODE_IO_PU(GPIO_Pin_5);
    4.         P0_MODE_IO_PU(GPIO_Pin_6);
    5.         P0_MODE_IO_PU(GPIO_Pin_2);
    6.         P0_MODE_IO_PU(GPIO_Pin_3);
    7.        
    8.         P5_MODE_IO_PU(GPIO_Pin_3);
    9.        
    10.         P2_MODE_IO_PU(GPIO_Pin_1);
    11.         P2_MODE_IO_PU(GPIO_Pin_2);
    12.         P2_MODE_IO_PU(GPIO_Pin_3);
    13.         P2_MODE_IO_PU(GPIO_Pin_4);
    14.         P2_MODE_IO_PU(GPIO_Pin_5);
    15. //        P2_MODE_IN_HIZ(GPIO_Pin_3);
    16. //        P2_MODE_OUT_PP(GPIO_Pin_2);
    17. //        P2_MODE_OUT_PP(GPIO_Pin_4);
    18. //        P2_MODE_OUT_PP(GPIO_Pin_5);
    19.        
    20.         P3_MODE_IO_PU(GPIO_Pin_3);
    21.         P3_MODE_IO_PU(GPIO_Pin_4);
    22.        
    23.         P1_MODE_IO_PU(GPIO_Pin_1);
    24.         P1_MODE_IO_PU(GPIO_Pin_0);
    25.         P1_MODE_IO_PU(GPIO_Pin_4);
    26. }
    27. void        SPI_config(void)
    28. {
    29.         SPI_InitTypeDef                SPI_InitStructure;
    30.         SPI_InitStructure.SPI_Enable    = ENABLE;                                                //SPI启动    ENABLE, DISABLE
    31.         SPI_InitStructure.SPI_SSIG      = DISABLE;                                                //片选位     ENABLE, DISABLE
    32.         SPI_InitStructure.SPI_FirstBit  = SPI_MSB;                                        //移位方向   SPI_MSB, SPI_LSB
    33.         SPI_InitStructure.SPI_Mode      = SPI_Mode_Master;                //主从选择   SPI_Mode_Master, SPI_Mode_Slave
    34.         SPI_InitStructure.SPI_CPOL      = SPI_CPOL_Low;                        //时钟极性   SPI_CPOL_High,   SPI_CPOL_Low
    35.         SPI_InitStructure.SPI_CPHA      = SPI_CPHA_2Edge;                //时钟相位   SPI_CPHA_1Edge,  SPI_CPHA_2Edge
    36.         SPI_InitStructure.SPI_Speed     = SPI_Speed_4;                        //SPI速度    SPI_Speed_4, SPI_Speed_16, SPI_Speed_64, SPI_Speed_128
    37.         SPI_Init(&SPI_InitStructure);
    38.         NVIC_SPI_Init(DISABLE,Priority_0);                //中断使能, ENABLE/DISABLE; 优先级(低到高) Priority_0,Priority_1,Priority_2,Priority_3
    39.        
    40.         SPI_SW(SPI_P22_P23_P24_P25);        //SPI_P54_P13_P14_P15,SPI_P22_P23_P24_P25,SPI_P54_P40_P41_P43,SPI_P35_P34_P33_P32
    41.         //SPI_SS_2 = 1;
    42.         SPSTAT = 0xc0;
    43.         SPI_ClearFlag();   //清除 SPIF和WCOL 标志
    44.         //SPR0 = 0;
    45.         //SPR1 = 0;
    46.         HSPllClkConfig(MCLKSEL_HIRC,PLL_96M,123);    //系统时钟选择,PLL时钟选择,时钟分频系数
    47.         HSSPI_Enable();
    48. }
    49. void main(void)
    50. {
    51.         WTST = 0;                //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    52.         EAXSFR();                //扩展SFR(XFR)访问使能
    53.         CKCON = 0;      //提高访问XRAM速度
    54.        
    55.         EA = 1;
    56.         GPIO_config();
    57.         SPI_config();
    58.         //Timer_config();
    59.         //UART_config();
    60.         //RS485_EN = 0;
    61.         //RS485();
    62.         //WDT_CONTR = 0x24;//使能看门狗 溢出时间约为0.5s
    63.         P05 = 1;
    64.        
    65.         m_LoopFlag = 2;
    66.         while (1)
    67.         {
    68.                 //WDT_CONTR = 0x34;//清除看门狗,否则系统复位
    69. <blockquote>RCK = 0;
    复制代码


    屏幕截图 2023-12-27 133021.png
    屏幕截图 2023-12-27 133102.png
    回复 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 00:23
  • 签到天数: 152 天

    [LV.7]常住居民III

    10

    主题

    283

    回帖

    1014

    积分

    金牌会员

    积分
    1014
    发表于 2023-12-27 14:13:36 | 显示全部楼层
    你用个逻辑分析仪抓一下
    自信就会温和,温和就会坚定!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情

    2023-12-22 10:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    3

    回帖

    77

    积分

    注册会员

    积分
    77
     楼主| 发表于 2023-12-27 14:19:51 | 显示全部楼层
    嵌入式之路 发表于 2023-12-27 14:13
    你用个逻辑分析仪抓一下

    我用示波器看过,波形是正常的
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-14 00:16 , Processed in 0.058049 second(s), 39 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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