数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 2549|回复: 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 13:54
下载器有点贵。…

大几十,还可以吧
回复 支持 反对

使用道具 举报

发表于 2022-5-1 20:13:35 | 显示全部楼层
板子很漂亮,,隔壁的孩子都馋了
回复 支持 反对

使用道具 举报

发表于 2022-5-2 06:20:12 | 显示全部楼层
MSP430F1611现在也不便宜吧
回复 支持 反对

使用道具 举报

发表于 2022-5-2 06:27:47 | 显示全部楼层
设计不合理.晶振里单片机太远了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-2 07:25:05 | 显示全部楼层
ks11900 发表于 2022-5-1 20:13
板子很漂亮,,隔壁的孩子都馋了

文件已共享,直接在LCEDA生成gerber,在下单助手下单了~~~
小火箭有点意思,哈哈
回复 支持 反对

使用道具 举报

发表于 2022-5-2 10:33:50 | 显示全部楼层
现在都是st的天下了, 430低功耗的本事也快被赶上了
回复 支持 反对

使用道具 举报

发表于 2022-5-6 01:06:56 | 显示全部楼层
430单片机就是太贵好,又不好买。一直没学,学的都是STC51
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 08:23:21 | 显示全部楼层
qq1329491328 发表于 2022-5-2 06:27
设计不合理.晶振里单片机太远了

是有些远了,不过还好,工作正常,也不在复杂的工业环境里使用
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 08:23:56 | 显示全部楼层
mdmo 发表于 2022-5-2 10:33
现在都是st的天下了, 430低功耗的本事也快被赶上了

各家各具特色的片子,多玩玩没坏处
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-6 08:24:29 | 显示全部楼层
njchenmin 发表于 2022-5-2 06:20
MSP430F1611现在也不便宜吧

前些年,从官网申请的
回复 支持 反对

使用道具 举报

发表于 2024-4-17 17:27:19 | 显示全部楼层
请问楼主,TI申请MSP430样片麻烦吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-17 17:35:30 | 显示全部楼层
lmn2005 发表于 2024-4-17 17:27
请问楼主,TI申请MSP430样片麻烦吗?

早几年申请的了,你可以上官网看看情况
回复 支持 反对

使用道具 举报

发表于 2024-4-18 06:39:59 来自手机浏览器 | 显示全部楼层
请问只有Jtag 能不能调试Msp430f5528?
回复 支持 反对

使用道具 举报

发表于 2024-4-19 21:05:29 | 显示全部楼层
零几年随便申请,后来TI更改了样品申请策略,大概是发现太亏了......
16位超低功耗单片机,运行速度快,就是太贵了
回复 支持 反对

使用道具 举报

发表于 2024-4-20 21:03:22 | 显示全部楼层
sz1988 发表于 2024-4-19 21:05
零几年随便申请,后来TI更改了样品申请策略,大概是发现太亏了......
16位超低功耗单片机,运行速度快,就 ...

现在应该不容易申请了吧?
回复 支持 反对

使用道具 举报

发表于 2024-4-21 20:13:38 | 显示全部楼层
lmn2005 发表于 2024-4-20 21:03
现在应该不容易申请了吧?

10多年没有申请了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-23 18:21 , Processed in 0.280801 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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