[技术问答] 求助M442 SPI

[复制链接]
1689|12
 楼主| pp99sky 发表于 2015-4-21 11:54 | 显示全部楼层 |阅读模式
spi, pc, ck, se, TE
第一次使用新塘芯片,现在配置PC6 PC7 PC8为SPI0,没有反应,不知道哪里问题。求指导。谢谢。
配置如下

void SYS_Init(void)
{
    /*---------------------------------------------------------------------------------------------------------*/
    /* Init System Clock                                                                                       */
    /*---------------------------------------------------------------------------------------------------------*/
    /* Unlock protected registers */
    SYS_UnlockReg();

    /* Enable External XTAL (4~24 MHz) */
    CLK_EnableXtalRC(CLK_PWRCTL_HXTEN_Msk);

    /* Waiting for 12MHz clock ready */
    CLK_WaitClockReady( CLK_STATUS_HXTSTB_Msk);

    /* Switch HCLK clock source to HXT */
    CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HXT,CLK_CLKDIV0_HCLK(1));

    /* Set PLL to power down mode and PLL_STB bit in CLKSTATUS register will be cleared by hardware.*/
    CLK->PLLCTL |= CLK_PLLCTL_PD_Msk;

    /* Set PLL frequency */
    CLK->PLLCTL = CLK_PLLCTL_84MHz_HXT;

    /* Waiting for clock ready */
    CLK_WaitClockReady(CLK_STATUS_PLLSTB_Msk);

    /* Switch HCLK clock source to PLL */
    CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_PLL,CLK_CLKDIV0_HCLK(1));

    /* Enable IP clock ============================================================================*/
   // CLK_EnableModuleClock(UART4_MODULE);
        //        CLK_EnableModuleClock(EBI_MODULE);
                CLK_EnableModuleClock(TMR0_MODULE);
                CLK_EnableModuleClock(SPI0_MODULE);

    /* Select IP clock source ======================================================================*/
//   CLK_SetModuleClock(UART4_MODULE, CLK_CLKSEL1_UARTSEL_HXT, CLK_CLKDIV0_UART(1));
                CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0SEL_HXT, 0);
               

    /* Update System Core Clock */
    /* User can use SystemCoreClockUpdate() to calculate SystemCoreClock. */
    SystemCoreClockUpdate();



/////////////////////////////////////////////////////////////////////////////////////////////////////
//PC5 MISO0; PC6 MOSI0; PC7  CLK
        SYS->GPC_MFPL = (SYS->GPC_MFPL & ~(SYS_GPC_MFPL_PC6MFP_Msk | SYS_GPC_MFPL_PC7MFP_Msk)) |
                                                                                                                                                (SYS_GPC_MFPL_PC6MFP_SPI0_MISO0 | SYS_GPC_MFPL_PC7MFP_SPI0_MOSI0 );
        SYS->GPC_MFPH = (SYS->GPC_MFPH & ~(SYS_GPC_MFPH_PC8MFP_Msk )) |
                                                                                                                                                (SYS_GPC_MFPH_PC8MFP_SPI0_CLK );

SPI_Open(SPI0, SPI_MASTER, SPI_MODE_0, 8, 10000000);                //10M
SPI_TRIGGER(SPI0);
quray1985 发表于 2015-4-21 14:08 | 显示全部楼层
你是用示波器看的spi的输出吗?
mintspring 发表于 2015-4-22 08:23 | 显示全部楼层
你搞个例程,把那一段粘贴到你的项目里。
 楼主| pp99sky 发表于 2015-4-22 10:57 | 显示全部楼层
因为用的是 SPI0_MOSI1,SPI0_MISO1,这个是不是要开启双位模式,还不太会用。
 楼主| pp99sky 发表于 2015-4-23 12:53 | 显示全部楼层
仔细看了下寄存器描述,原来自己有弄错了,现在搞好了,看来一切都要靠自己.
稳稳の幸福 发表于 2015-5-16 22:10 | 显示全部楼层
楼主是哪儿看错了,又搞好了,到底咋回事。
春风的暖暖 发表于 2015-5-16 22:42 | 显示全部楼层
我现在也正在学习,我也看看你是怎么弄的
598330983 发表于 2015-5-18 21:17 | 显示全部楼层
开启双位模式试试看没啊,可行吗
734774645 发表于 2015-5-19 11:48 | 显示全部楼层
有些时候用示波器一看就知道哪儿坏了,看代码有时候真的很麻烦。
天灵灵地灵灵 发表于 2015-5-21 21:34 | 显示全部楼层
我现在也正在学习,我也看看你是怎么弄的
yiyigirl2014 发表于 2015-5-21 21:43 | 显示全部楼层
到底楼上的菜鸟们会不会啊,让我这个菜鸟学学一下吧。
643757107 发表于 2015-5-21 22:26 | 显示全部楼层
这个新的SPI很难用吗?大家都不会,还是故意不告诉人家
yiyigirl2014 发表于 2015-5-26 20:04 | 显示全部楼层
你要试试挂个设备看看能否正常工作,比如那个时钟芯片。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

43

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0