CC430 TI集成RF收发器的超低功耗MCU系统级芯片(SoC)资料与学习
本帖最后由 Cortex_M3 于 2013-1-6 19:00 编辑近期一项目需要涉及RF、低功耗、RTC实时时钟、ADC等资源;一看到低功耗立马想到了TI 的430系列(以前使用过MSP430F1系列的)。在考虑使用什么RF芯片时,突然想到12年4月在杭州参加利尔达物联网研讨会的时候,送了两套CC430开发套件,具有RF功能,立马翻箱倒柜的找出来(吃灰不少罪过罪过!!)打开光盘,有如下资料:
(CC430开发套件资料预览1.jpg)
其他预览就不上传了,直接上传光盘资料。如下:
(cc430开发套件.part01.rar)
(cc430开发套件.part02.rar)
(cc430开发套件.part03.rar)
(cc430开发套件.part04.rar)
(cc430开发套件.part05.rar)
(cc430开发套件.part06.rar)
(cc430开发套件.part07.rar)
(cc430开发套件.part08.rar)
(cc430开发套件.part09.rar)
CC430系列是TI公司的集成了RF收发器的超低功耗MCU系统级芯片(SoC),器件具有功能强大的MSP430F5系列控制器内核,16位RISC CPU,工作电压1.8V-3.6V,内部集成TI RF系列 CC1101RF内核。CPU工作时的功耗160 µA/MHz,工作于Standby Mode(LMP3 RTC Mode)2.0uA;Off Mode (LPM4 RAM Retention): 1.0 µA;
套件是利尔达基于TI原版制作,Demo 代码却是基于CC430F6 系列的,稍后上传原版CC430F5系列Demo Code。
(利尔达CC430开发套件.jpg)
网速实在是不给力!!!
... ... ... ...
接着传... ...
CC430学习笔记六篇:(不是自己写的,在此感谢原作者)
(CC430学习笔记----(一).pdf)
(CC430学习笔记----(二).pdf)
(CC430学习笔记----(三).pdf)
(CC430学习笔记----(四).pdf)
(CC430学习笔记----开发环境.pdf)
(CC430学习笔记----SmartRF_Studio_7.pdf)
支持一下,同在学习这个 本帖最后由 Cortex_M3 于 2013-1-6 19:09 编辑
CC430F5137学习第一季 之 USART
串口配置函数(直接Copy 的例程代码)
/********************************************
* 函数名 :UCA0_Init(void)
* 功能 :串口USART 配置
* 输入参数 :无
* 输出参数 :无
* 作者 :
*/
void UCA0_Init(void)
{
PMAPPWD = 0x02D52; // Get write-access to port mapping regs 获得端口映射权限
P1MAP5 = PM_UCA0RXD; // Map UCA0RXD output to P1.5 , P1.5 配置为RXD
P1MAP6 = PM_UCA0TXD; // Map UCA0TXD output to P1.6 , P1.6 配置为TXD
PMAPPWD = 0; // Lock port mapping registers, 锁定端口映射寄存器
P1DIR |= BIT6; // Set P1.6 as TX output , P1.6 设置为TX 输出
P1SEL |= BIT5 + BIT6; // Select P1.5 & P1.6 to UART function P1.5 P1.6 配置为USART功能
UCA0CTL1 |= UCSWRST; // **Put state machine in reset**,将状态机复位
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 6; // 1MHz 9600 (see User's Guide)
UCA0BR1 = 0; // 1MHz 9600
UCA0MCTL = UCBRS_0 + UCBRF_13 + UCOS16; // Modln UCBRSx=0, UCBRFx=0,
// over sampling
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
UCA0IE |= UCRXIE; // Enable USCI_A0 RX interrupt,使能USCI_A0 RX中断
}
/********************************************
* 函数名 :Send_Single-byte(unsigned char dat)
* 功能 :串口发送单一字节
* 输入参数 :unsigned char dat
* 输出参数 :无
* 作者 :
*/
voidSend_Single_byte(unsigned char dat)
{
while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX buffer ready?
//UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
UCA0TXBUF = dat;
}
/********************************************
* 函数名 :Send_Multi-byte(unsigned char *dat,unsigned char Length)
* 功能 :串口发送多字节
* 输入参数 :unsigned char *dat,unsigned char Length
* 输出参数 :无
* 作者 :
*/
voidSend_Multi_byte(unsigned char *dat,unsigned char Length)
{
unsigned char i;
for(i=0;i<Length;i++)
{
while (!(UCA0IFG&UCTXIFG)); // USCI_A0 TX buffer ready?
//UCA0TXBUF = UCA0RXBUF; // TX -> RXed character
UCA0TXBUF = dat;
}
}
/********************************************
* 函数名 :main(void)
* 功能 :主函数
* 输入参数 :无
* 输出参数 :无
* 作者 :
*/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
UCA0_Init(); //初始化USART 配置
__bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
__no_operation(); // For debugger _NOP();
}
// Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
switch(__even_in_range(UCA0IV,4))
{
case 0:break; // Vector 0 - no interrupt
case 2: // Vector 2 - RXIFG
if(UCA0RXBUF==0x01) //接收缓冲区数据为 0x01
{
Send_Multi_byte(OK_Dat,9);
}
elseSend_Multi_byte(NO_Dat,9);
break;
case 4:break; // Vector 4 - TXIFG
default: break;
}
} 本帖最后由 Cortex_M3 于 2013-1-7 13:18 编辑
CC430F5137学习第二季 之 RTC
/********************************************
* 函数名 :RTC_Init()
* 功能 :RTC 初始化函数
* 输入参数 :无
* 输出参数 :无
* 作者 :
*/
void RTC_Init(void)
{
RTCCTL01 |= RTCBCD + RTCHOLD + RTCMODE;
// RTC enable, BCD mode, RTC hold 使能RTC,开启BCD模式,RTC保持
// Disable RTC read ready interrupt 关闭RTC 中断
// Disable RTC time event interrupt
// 时间初始化
RTCSEC =0x01; // 设置秒
RTCMIN =0x50; // 设置分
RTCHOUR = 0x21; // 设置小时
// 日期初始化
RTCDOW =0x05; // 设置星期数 5
RTCDAY =0x04; // 设置日 04
RTCMON =0x01; // 设置月 01
RTCYEAR = 0x2013; // 设置年 2013
RTCCTL01 &= ~RTCHOLD; // Start RTC calendar mode
}
/********************************************
* 函数名 :Read_Time
* 功能 :RTC 实时时钟,时间读取
* 输入参数 :无
* 输出参数 :无
* 作者 :
*/
void Read_Time(RTC_TIMER *timer)
{
for(;RTCCTL01&RTCRDY;) _NOP();
for(;!(RTCCTL01&RTCRDY);) _NOP();
timer->year = RTCYEAR ; //读 年 寄存器
timer->month= RTCMON ; //读 月 寄存器
timer->day = RTCDAY ; //读 日 寄存器
timer->day_of_week = RTCDOW ;//读 星期 寄存器
timer->hour = RTCHOUR ; //读 时 寄存器
timer->min = RTCMIN ; //读 分 寄存器
timer->second = RTCSEC ; //读 秒 寄存器
}
/********************************************
* 函数名 :Write_RTC
* 功能 :RTC 实时时钟,设置初始时间
* 输入参数 :无
* 输出参数 :无
* 作者 :
*/
void Write_RTC(RTC_TIMER *timer)
{
for(;RTCCTL01&RTCRDY;) _NOP();
for(;!(RTCCTL01&RTCRDY);) _NOP();
RTCCTL01 |= RTCHOLD ;
RTCYEAR = timer->year ; //写 年 寄存器
RTCMON = timer->month ; //写 月 寄存器
RTCDAY = timer->day ; //写 日 寄存器
RTCDOW = timer->day_of_week ; //写 星期 寄存器
RTCHOUR = timer->hour; //写 时 寄存器
RTCMIN = timer->min ; //写 分 寄存器
RTCSEC = timer->second ; //写 秒 寄存器
RTCCTL01 &= ~RTCHOLD;
} O(∩_∩)O~, 8错 好东西,正在找,谢谢!!! huzhongnan 发表于 2013-1-9 14:00 static/image/common/back.gif
好东西,正在找,谢谢!!!
共同学习! 与CC2530啥关系,是Zigbee的么 在淘宝上要了几个CC430样片,正在开发测试,只是效率有点慢,此文档对正在进行的开发帮助很大,谢谢。 问句…淘宝样片那里弄 mark一下,手上正好有cc430的手表套件:) 持续关注! 正好最近在搞cc430相关的东西,多谢啦 mark{:smile:}{:smile:} 这个芯片带不带RSSI功能? arm 发表于 2013-3-15 22:31 static/image/common/back.gif
这个芯片带不带RSSI功能?
带呢 详情看下手册 顶,谢谢了 楼主大人速度哦~ 谢谢了,
不过解开只有EZ430-RF5137-433光盘这个内容? 好贴点个赞~ 想买个玩玩呢,不过利尔达好像不卖这个模块了 谢谢哈{:smile:}{:smile:} 好东西先收藏了。 多谢分享,不知是否有详细的组网说明,以及功耗休眠控制方面的详细实例说明 太感谢了 感谢楼主分享,430MARK
页:
[1]