社区导航

 

搜索
查看: 5884|回复: 24

[MSP432] 电源类竞赛专用MSP432代码.c

[复制链接]

216

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-8-2 18:33 | 显示全部楼层 |阅读模式
楼主准备参见今年的电赛,选题方向呢是有关电源类的,往年一直用5529,今年入手了MSP432,就准备选这款做主控了,经过几天努力,准备好了代码,现在来和大家分享下
QQ图片20150802183133.png

评分

1

查看全部评分


回复

使用道具 举报

216

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-2 18:36 | 显示全部楼层
楼主一向习惯用库函数,这次当然也不例外啦,首先打开CCS的MSPWARE,新建一个工程
QQ截图20150802183516.png

回复

使用道具 举报

216

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-2 18:41 | 显示全部楼层
在此基础上我们可以一步步移植库函数的例子,首先呢就从时钟系统开始吧,感兴趣的同志们去研读下芯片手册,432的时钟系统叫CS,吓了一跳当时也是,首先看这两个例子,clock_Init和HFxt_start
QQ截图20150802184050.png

回复

使用道具 举报

216

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-2 18:44 | 显示全部楼层
我们可以看到这两段代码:
int main(void)
{
    /* Halting the Watchdog */
    MAP_WDT_A_holdTimer();
   
    /* Configuring pins for peripheral/crystal usage and LED for output */
    MAP_GPIO_setAsPeripheralModuleFunctionOutputPin(GPIO_PORT_PJ,
            GPIO_PIN3 | GPIO_PIN4, GPIO_PRIMARY_MODULE_FUNCTION);
    MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);

    /* Setting the external clock frequency. This API is optional, but will
     * come in handy if the user ever wants to use the getMCLK/getACLK/etc
     * functions
     */
    CS_setExternalClockSourceFrequency(32000,48000000);

    /* Starting HFXT in non-bypass mode without a timeout. Before we start
     * we have to change VCORE to 1 to support the 48MHz frequency */
    MAP_PCM_setCoreVoltageLevel(PCM_VCORE1);
    MAP_FlashCtl_setWaitState(FLASH_BANK0, 2);
    MAP_FlashCtl_setWaitState(FLASH_BANK1, 2);
    CS_startHFXT(false);

    /* Initializing MCLK to HFXT (effectively 48MHz) */
    MAP_CS_initClockSignal(CS_MCLK, CS_HFXTCLK_SELECT, CS_CLOCK_DIVIDER_1);
   
    /* Configuring SysTick to trigger at 24000000 (MCLK is 48MHz so this will
     * make it toggle every 0.5s) */
    MAP_SysTick_enableModule();
    MAP_SysTick_setPeriod(24000000);
    MAP_Interrupt_enableSleepOnIsrExit();
    MAP_SysTick_enableInterrupt();
   
     /* Enabling MASTER interrupts */
    MAP_Interrupt_enableMaster();   

    while (1)
    {
        MAP_PCM_gotoLPM0();
    }
}

void systick_isr(void)
{
    MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
}



int main(void)
{
    /* Halting WDT */
    MAP_WDT_A_holdTimer();

    /* Initializing the clock source as follows:
     *      MCLK = MODOSC/4 = 6MHz
     *      ACLK = REFO/2 = 16kHz
     *      HSMCLK = DCO/2 = 1.5Mhz
     *      SMCLK = DCO/4 = 750kHz
     *      BCLK  = REFO = 32kHz
     */
    MAP_CS_initClockSignal(CS_MCLK, CS_MODOSC_SELECT, CS_CLOCK_DIVIDER_4);
    MAP_CS_initClockSignal(CS_ACLK, CS_REFOCLK_SELECT, CS_CLOCK_DIVIDER_2);
    MAP_CS_initClockSignal(CS_HSMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_2);
    MAP_CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_4);
    MAP_CS_initClockSignal(CS_BCLK, CS_REFOCLK_SELECT, CS_CLOCK_DIVIDER_1);

    /*
     *  Getting all of the frequency values of the CLK sources using the
     * convenience functions */
    aclk = CS_getACLK();
    mclk = CS_getMCLK();
    smclk = CS_getSMCLK();
    hsmclk = CS_getHSMCLK();
    bclk = CS_getBCLK();

    /*
     * Staying in active mode so that the user can see the values that are put
     * in the above registers through the debugger
     */
    while (1)
    {

    }
}

回复

使用道具 举报

216

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-2 18:53 | 显示全部楼层
容我们组合以下就是所需要的时钟配置代码啦
QQ截图20150802184445.png
QQ截图20150802184500.png

回复

使用道具 举报

216

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-2 19:13 | 显示全部楼层
类似的呢我们可以完成ADC,TIMER,SYSTICK,等的配置,我就不一一说明啦,这里附上自己的成品,加上一个PI算法控制输出电压恒定的代码,大家今年电赛加油啊,有什么问题的直接回复好啦

MSP432.rar

8.28 KB, 下载次数: 66

售价: 2 枚芯币  [记录]


回复

使用道具 举报

216

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-2 19:28 | 显示全部楼层
需要注意的是,432的库函数的中断要在这个文件中修改中断表才可以写自己的中断函数
QQ截图20150802192813.png

回复

使用道具 举报

2万

TA的帖子

74

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2015-8-3 08:58 | 显示全部楼层
非常详细,谢谢楼主分享。

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


回复

使用道具 举报

6902

TA的帖子

90

TA的资源

裸片初长成(初级)

Rank: 10Rank: 10Rank: 10

发表于 2015-8-3 09:01 | 显示全部楼层
大赛都用上了msp432

回复

使用道具 举报

9

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2015-8-8 14:29 | 显示全部楼层
很好,学习一下

回复

使用道具 举报

550

TA的帖子

6

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2015-8-19 00:18 | 显示全部楼层
好快啊。。。。。还好比较早的看到,要多多向你学习

回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2016-7-9 14:00 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊

回复

使用道具 举报

8

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2016-8-26 10:26 | 显示全部楼层
快啊。。。。。还好比较早的看到,要多多向你学习

回复

使用道具 举报

1572

TA的帖子

0

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

发表于 2016-8-26 12:40 | 显示全部楼层
不错不错,支持楼主一下~

回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-1-19 13:24 | 显示全部楼层
不错哟,怎么我才看到呢!

回复

使用道具 举报

16

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-2-8 20:44 | 显示全部楼层
给楼主献上膝盖了,对了,想问一下楼主这个维持电压恒定的硬件电路咋搭的

点评

同步buck  详情 回复 发表于 2017-4-13 14:18

回复

使用道具 举报

13

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-3-14 10:17 | 显示全部楼层
谢谢楼主的分享,非常好的资料

回复

使用道具 举报

216

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-4-13 14:18 | 显示全部楼层
wsws阿毛 发表于 2017-2-8 20:44
给楼主献上膝盖了,对了,想问一下楼主这个维持电压恒定的硬件电路咋搭的

同步buck

回复

使用道具 举报

4

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-4-13 14:46 | 显示全部楼层

回复

使用道具 举报

158

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-4-28 19:26 | 显示全部楼层
楼主还有5529 做电源的资料吗  求分享

回复

使用道具 举报

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

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-6 21:16 , Processed in 0.592886 second(s), 43 queries , Gzip On, MemCache On.

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