数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 2722|回复: 18

[ARM] 玩玩TI的MSP430系列-MSP430F1611

[复制链接]
发表于 2022-5-1 07:18:34 | 显示全部楼层 |阅读模式
本帖最后由 springvirus 于 2022-5-1 11:22 编辑

前几年从TI申请的MSP430样片,趁着JLC的打板包邮,做几块玩玩,后面准备把手头的华科尔遥控器主控换掉,用MSP430+NRF24L01,这样把接收器之类的都去掉,发送端和接收端都是自主控制板+自有协议,可以任意开发,随意玩耍,^O^

把BSL的CH341A和1611最小系统,做到一起了也预留了RTC RX8025的位置


3D图


LCEDA的工程已共享在开源广场-》https://oshwhub.com/springvirus/New_Project-CfnFzRL3l

板子焊接后,用JTAG+CCS 11.1.0.00011玩一下,使能XT2的高速时钟,这里接入8MHz,不使用LFXT1

4个LED,500ms翻转一次,闪烁正常

全部的IO口都正常,也可以使能MCLK,SMCLK,ACLK的输出,看看时钟



代码如下:
//以下配置,需要配置成XT2CLK 8MHz ->  MCLK = 8MHz
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))


void sys_init(void)
{
        u32 i;


          WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT


        #if 0
        //user guide page116
        //DCO=3, RSEL=6, VCC=3V, Fdco = 2MHz, to be tested.
        //DCO=7, RSEL=7, VCC=3V, Fdco = 4.9MHz, to be tested.

          //DCOCTL |= (1<<7)|(1<<6)|(1<<5);  //max DCO
        DCOCTL |= (1<<6)|(1<<5);
        DCOCTL &= ~(1<<7); //DCO = 3
        
        DCOCTL &= ~((1<<4)|(1<<3)|(1<<2)|(1<<1)|(1<<0)); //MOD = 00000
        #endif


        //XT2 8MHz oscillator + 30PF *2 will be installed, LFXT1 32.768KHz will not be installed on board.

        DCOCTL = 0x00;


        BCSCTL1 &= ~(1<<7);                //XT2 is on        

        BCSCTL1 &= ~((1<<6));             //LFXT1CLK, low frequency mode, in __bis_SR_register(SCG0+OSCOFF+GIE); already turn off
        
        BCSCTL1 &= ~((1<<5)|(1<<4));      //[5:4]=00, divider = 1, from LFXT1CLK for ACLK, in __bis_SR_register(SCG0+OSCOFF+GIE); already turn off
         
         
        BCSCTL1 &= ~((1<<2)|(1<<1));
        BCSCTL1 &= ~((1<<0)); //RSEL = 0



        do {

                //clear oscillator fault flag
                IFG1 &= ~(OFIFG);

                //delay, wait XT2 works normally
                for(i=255;i>0;i--);

        }while((IFG1 & OFIFG) != 0);   //justify XT2 is ok or not.




        //------------------

        BCSCTL2 |= (1<<7);
        BCSCTL2 &= ~((1<<6));  //select XT2CLK for MCLK

        BCSCTL2 &= ~((1<<5)|(1<<4));  //[5:4]=00, divider = 1, for MCLK, MCLK = XT2CLK = 8MHz

        BCSCTL2 |= (1<<3);           //select XT2CLK for SMCLK

        BCSCTL2 &= ~((1<<2)|(1<<1));  //[2:1]=00, divider = 1, for SMCLK, SMCLK = XT2CLK = 8MHz


          BCSCTL2 &= ~(1<<0);           //DCO resistor select internal resistor
         
         
         
         


}



void gpio_init_test(void)
{
        
        P1SEL = 0x00;
    P2SEL = 0x00;
    P3SEL = 0x00;
    P4SEL = 0x00;
    P5SEL = 0x00;
    P6SEL = 0x00;



        //1-output    0-input
        //P1口
    P1OUT = 0x00;
    P1DIR = 0xFF;

         //P2口
    P2OUT = 0x00;
    P2DIR = 0xFF;

    //P3口
    P3OUT = 0x00;
    P3DIR = 0xFF;

    //P4口
    P4OUT = 0x00;
    P4DIR = 0xFF;

    //P5口
    P5OUT = 0x00;   
    P5DIR = 0xFF;

    //P6口
    P6OUT = 0x00;
    P6DIR = 0xFF;


        //P5SEL |= (1<<6)|(1<<5)|(1<<4);
        //P5.6-ACLK output, P5.5 -SMCLK output, P5.4 - MCLK output

        
        //P5DIR |= (1<<6)|(1<<5)|(1<<4);



}




void global_isr_enable(void)
{

        
        /*
        MSP430x1xx user's guide.pdf   page32
        
        SCG1 SCG0 OSCOFF CPUOFF                        Mode
        
        0          0      0       0                        Active    CPU is active, all enabled clocks are active
        
        0          0           0                  1                        LPM0          CPU, MCLK are disabled, SMCLK, ACLK is active        

        0          1          0             1                        LPM1          CPU, MCLK, DCO osc. are disabled, SMCLK, ACLK is active               

        1          0                 0                 1                        LPM2          CPU, MCLK, SMCLK, DCO osc. are disabled, ACLK is active               

        1          1                 0                 1                        LPM3          CPU, MCLK, SMCLK, DCO osc. are disabled, ACLK is active

        1          1                 1                 1                        LPM4          CPU and all clocks disabled                 


        */


        //__bis_SR_register(LPM0_bits + GIE);       // Enter LPM0 w/ interrupt


    //turn off the LFXT1 crystal oscillator. (OSCOFF)
    //turn off DCO. (SCG0)
    //use XT2 for MCLK and SMCLK.
        __bis_SR_register(SCG0+OSCOFF+GIE);


}


int main(void)
{
        
        static u32 led_timer;
        
        u8 uret8 = 0;
        
        
        sys_init();

        gpio_init_test();


    global_isr_enable();




        while(1)
        {        
                        
                //实际测量延时函数,微秒级和毫秒级符合要求。
                P1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;P4OUT = 0x00;P5OUT = 0x00;P6OUT = 0x00;
                delay_ms(500);
        

                P1OUT = 0xff;P2OUT = 0xff;P3OUT = 0xff;P4OUT = 0xff;P5OUT = 0xff;P6OUT = 0xff;
                delay_ms(500);


        }



}





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 3家元 +100 收起 理由
8139 + 20 優秀文章
jf201006 + 20 原創內容
家睦 + 60

查看全部打赏

发表于 2022-5-1 08:23:00 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +8 收起 理由
springvirus + 8 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2022-5-1 13:54:35 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-1 13:58:03 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-5-1 20:13:35 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-5-2 06:20:12 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-5-2 06:27:47 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-2 07:25:05 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-5-2 10:33:50 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-5-6 01:06:56 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 08:23:21 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 08:23:56 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 08:24:29 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2024-4-17 17:27:19 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-17 17:35:30 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2024-4-18 06:39:59 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2024-4-19 21:05:29 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2024-4-20 21:03:22 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2024-4-21 20:13:38 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-12-3 21:32 , Processed in 0.140400 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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