TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541能否不接32MHz高频晶振?

大家好!

目前需要采用内部16MHz晶振,但是按照协议栈的程序焊掉32MHz后程序卡死了。所以想问下不接这个高频晶振可以吗?

这里有一段程序我没有读懂:

#define HAL_BOARD_INIT()\
{\/* Set to 16Mhz to set 32kHz OSC, then back to 32MHz */\START_HSOSC_XOSC();\SET_OSC_TO_HSOSC();\SET_32KHZ_OSC();\SET_OSC_TO_XOSC();\STOP_HSOSC();\/* Enable cache prefetch mode. */\PREFETCH_ENABLE();\
}

大括号内START_HSOSC_XOSC和STOP_HSOSC两句完全没有读懂,这似乎和手册对不上啊?这两个函数操作的是SLEEPCMD的第2位,也就是常写1的保留位吧?操作保留位有啥用?请问这两句是什么原理呢?去掉32MHz晶振的话这两句怎么变化呢?求指点,谢谢大家。

Albin Zhang:

32M不但给51,而且是给RF core的。所以没有32M是不行的。

BR. AZ

Viki Shi:

高频射频的电路对晶振的要求比较高,内部晶振无法避免不精准的问题,所以为了性能,还是要接

关东糖:

回复 Albin Zhang:

谢谢亲,但是我的需求就是不要RF,彻底停掉RF。

关东糖:

回复 Viki Shi:

在我的上一个问题中您应该帮忙解答过,我的需求就是不要RF只用51MCU的。

关东糖:

回复 Viki Shi:

您好,这里就是不适用RF的场景的。想问下START和STOP这两句到底是怎么回事呢?怎么操作了保留位呢?

Albin Zhang:

回复 关东糖:

 哦,这下不好回答了。我们没啥具体经验。

你可以移步国外的e2e论坛吗?看看老外们有没有类似经验。

https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/ 

www.

关东糖:

回复 Albin Zhang:

谢谢,请问您能帮忙解释下START_HSOSC_XOSC和STOP_HSOSC两句的含义吗?对保留位操作是怎么回事呢?

da qin zheng sheng:

 

   #include "ioCC2540.h"  

        void delay()         {unsigned long i;     

      for(i=0;i<10000;i++)    

       asm(" nop ");         }    

       void  main()      

       {    CLKCONCMD = 0x80;       // Wait until system clock source has changed to HS XOSC (CLKCONSTA.OSC = 0).   

   while(CLKCONSTA & 0x40);//外部晶振32MHz       

       P0SEL =0x0c;///发送数据的tx引脚是p03, rx p0.2    

                   P0DIR=0xff;   

         U0CSR=0xc0;    

        U0UCR=0x02;      

      U0GCR=0x08;        

    U0BAUD=59;//波特率9600    

         PERCFG=0;   

       

            while(1)               {                 U0DBUF=0xaa;        

       while(  !(U0CSR&0x2));            

              delay();               delay();               delay();                           delay();               delay();               delay();       

            U0DBUF=0x55;       

        while(  !(U0CSR&0x2));       

                     delay();               delay();               delay();                           delay();               delay();               delay();         

      }         

    }

关东糖:

回复 da qin zheng sheng:

请不要回答不相干的内容,更不要做广告。

da qin zheng sheng:

回复 关东糖:

使用外部晶振就下边这两句代码,我给你完整的串口测试代码并有注释,问一下你如何说出这些话话???

CLKCONCMD = 0x80;       // Wait until system clock source has changed to HS XOSC (CLKCONSTA.OSC = 0).  

   while(CLKCONSTA & 0x40);//外部晶振32MHz 

赞(0)
未经允许不得转载:TI中文支持网 » CC2541能否不接32MHz高频晶振?
分享到: 更多 (0)