我的低功耗MSP430学习生涯

发布者:pingbashou最新更新时间:2020-01-28 来源: eefocus关键字:低功耗  MSP430  学习生涯 手机看文章 扫描二维码
随时随地手机看文章

从今天开始学习利用MSP430FR2433这款芯片实现测量不同阻抗的天线并实现匹配。

这是我第一次用MCU,用的不好,请多多指教,中途有错,请纠正。

(1)硬件部分功能实现

MCU

在这里插入图片描述

下面是天线匹配

在这里插入图片描述

最后一个模块是电阻桥

在这里插入图片描述

(2)代码部分

这里我刚刚开始学,下面是主程序,我将以看懂程序来记录我的学习过程。

void main(void)

{

// Initialize MCU

init_watchdog(); //初始化看门狗

init_clocks();

init_gpios();


// Initialize peripherals

init_rocky100();

init_rmeter();


// Release MCU gpios

release_gpios();


__bis_SR_register(GIE);


// Load configuration

// Configure sensor

init_systimer();


fSysTick = true;


while (1)

{


    if (fSysTick == true)

    {

        // Reset timer flag

        fSysTick = false;

        if (SysTickCounter++ >= r100DemoConf.nSysTicksPerSample)

        {

            SysTickCounter = 0;

            rocky100_update_data(meas_rmeter());

        }

    }


    if (fR100 == true)

    {

        // Reset timer flag

        fR100 = false;


        // Check rx_buffer


        // Reset SPI

        reset_rocky100_spi();


    }


    if (rocky100_is_idle())

    {

        mcu_lpm_enter(4);

    }else{

        mcu_lpm_enter(0);

    }

}


看门狗的初始化程序比较简单,WDTPW=0X5A00,这是默认值,WDTHOLD=0X0080,这样可以使低八位的最高位置1,这部分可以查手册,在看门狗寄存器有介绍。


void init_watchdog()

{

WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer,WDTHOLD=1b,WDTPW set fault。

}

现在要理解这个时钟初始化程序,

void init_clocks()

{

// Configure one FRAM waitstate as required by the device datasheet for MCLK

// operation beyond 8MHz before configuring the clock system.

FRCTL0 = FRCTLPW | NWAITS_1; //使能FRCTL寄存器,等待模式1


__bis_SR_register(SCG0);                           // disable FLL

这个代码让我知道了bis与bic的区别,,下面可以查CSC寄存器得到每一句话的意思。

CSCTL3 |= SELREF__REFOCLK;               // Set REFO as FLL reference source,P116

CSCTL0 = 0;                                   // clear DCO and MOD registers

CSCTL1 &= ~(DCORSEL_7);             // Clear DCO frequency select bits first,即使是取反了,运算时先取反,然后与

CSCTL1 |= DCORSEL_5;                               // Set DCO = 16MHz

CSCTL2 = FLLD_0 + 487;                             // DCOCLKDIV = 16MHz   ,000b = fDCOCLK ÷ 1,487=0X01E7=0000 0001 1110 0111

__delay_cycles(3);                                 //这里延时了多久,我在猜测这里是不是延时3s ,

//__bic_SR_register(SCG0);                           // enable FLL

// Disable waiting FLL lock, as it takes about 300ms in active mode.

// Just go to sleep and work with unlocked clock during first operations.

//while(CSCTL7 & (FLLUNLOCK0 | FLLUNLOCK1));         // FLL locked


CSCTL4 = SELMS__DCOCLKDIV; // set default REFO(~32768Hz) as ACLK source, ACLK = 32768Hz

                                           // default DCOCLKDIV as MCLK and SMCLK source


}


关键字:低功耗  MSP430  学习生涯 引用地址:我的低功耗MSP430学习生涯

上一篇:MSP430简单程序设计
下一篇:msp430F5438A 的ADC 研究

推荐阅读最新更新时间:2024-10-30 04:37

MSP430F169 Timer_A原理(一)----定时器的四个模式
Timer_A简介 Timer_A是程序设计的核心,它有一个十六位定时器和多路比较/捕获通道组成。每一个比较/捕获通道都以十六位定时器的定时功能为核心进行单独的控制。 Timer_A特点 1、具有四种工作模式的异步16位定时器/计数器 2、可选择和可配置的时钟源 3、三个可配置的捕获/比较寄存器 4、具有 PWM 功能的可配置输出 5、异步输入和输出锁存 6、用于快速解码所有 Timer_A 中断的中断向量寄存器 Timer_A定时器框图和MSP430F169引脚图 启动定时器 定时器时钟可以来自 ACLK、SMCLK或外部通过 TACLK 或 INCLK。时钟源通过 TASSELx 位选择。选定的时钟源可以直接传递给定时
[单片机]
<font color='red'>MSP430</font>F169 Timer_A原理(一)----定时器的四个模式
低功耗液晶电视LED背光源设计
  1 引言   自从欧盟施行了RoHS标准,以消除在欧盟成员国销售的电子产品中的铅、镉、汞、六价铬、多溴联苯和多溴联苯醚等物质以后,以汞作为主要成份的冷阴极荧光管(CCFL)注定将逐渐退出历史舞台。同时,绿色环保的LED亮度的提高,促使LED背光技术得到了极大的发展。LED背光凭借着色域广、工作电压低、响应时间短等优点,已呈现出取代CCFL背光的趋势。在当今低碳环保的主题下,低功耗的LED背光的竞争优势更加明显。   如何实现低功耗是LED背光的主要研究方向之一。LED背光主要由Back Cover、LGP、膜材、Mold Frame、LED Bar、BezEL和Panel等组成,其能耗主要体现在LED Bar上。通过
[电源管理]
<font color='red'>低功耗</font>液晶电视LED背光源设计
MSP430F5529 DriverLib 库函数学习笔记(二)GPIO
平台:Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) 硬知识 一、MSP430单片机端口概述 通用I/O端口是MSP430单片机最重要也是最常用的外设模块。通用I/O端口不仅可以直接用于输入/输出,而且可以为MSP430单片机应用系统提供必要的逻辑控制信号。 MSP430F5xx/6xx系列单片机最多可以提供12个通用I/O端口(P1~P11和PJ),大部分端口有8个引脚,少数端口引脚数少于8个。每个I/O引脚都可以被独立地设置为输入或者输出引脚,并且每个I/O引脚都可以被独立地读取或者
[单片机]
<font color='red'>MSP430</font>F5529 DriverLib 库函数<font color='red'>学习</font>笔记(二)GPIO
MSP430教程17:MSP430单片机开发总结
1.#i nclude 指要在编辑器设定目录下,#i nclude 指的是在当前工程目录下。 2.要调用另一个文件中的函数,要把这个函数文件放到当前工程目录下,并且在工程中添加此文件。 3.命名中不能有-,比如:byq-ee会认为是错误的,要用下划线。 4.用IAR软件仿真时,可以加入变量,如果是查看I/O信息只需加入PXIN,PXOUT即可。 5.IAR在处理字符时,要注意,是字符处理结尾标志,他和其他编辑软件是不同的。比如我们长用字符处理回 自动在结尾处加,但IAR有些是不加的,这就要十分注意。 6.如果只用到LFX1的低速时钟,9600bit/s传输的话,接收会出现问题,原因是误差太大,可以设置到4800以下。 7.在写FL
[单片机]
MSP430利用定时器捕获功能,计算脉冲间隔和频率
MSP430利用定时器捕获功能,计算脉冲间隔和频率: void TimrA1Init_captrue(void) { TA0CTL = TASSEL0+TACLR+TAIE+MC1; //时钟信号选择MCLK,计数模式为连续增计模式 TA0CCTL1 = CM1+SCS+CAP+CCIE; //输入下降沿捕获,CCI1A为捕获信号源 P1SEL |=BIT2; //设置P1.2端口为功能模块CCI1A输入捕获 } unsigned int TimeGap=0; #pragma vector=TIMER0_A1_VECTOR //定时器A中断处理 __interrupt void timer_a(void
[单片机]
基于MSP430对UART的控制方案
1 #include msp430g2553.h 2 3 typedef unsigned char uchar; 4 typedef unsigned int uint; 5 6 #define LED BIT0 7 #define TXD BIT1 // TXD on P1.1 8 #define RXD BIT2 // RXD on P1.2 9 #define POUT P1OUT 10 11 #define BITTIME_1b 13*4 //1bit宽度 12 #define BITTIME_1b5 13*6 //1.5bit宽度 13 14 uchar bitcnt
[单片机]
结合STM8谈谈低功耗MCU编程的基本思想
1.前言 工作之后接触了“低功耗”,开始搜索各种各样的低功耗MCU。网络是一个非常自由的地方,你总可以看到各种关于哪个MCU功耗更低的论战,在这些论战中我查阅了几乎所有低功耗MCU的特性,例如MSP430、EFM32还有STM32L等,网络论战的核心便是哪款MCU的休眠电流更低。看多了资料我便发现,这些低功耗的MCU如何使用,低功耗MCU的程序编写和普通MCU编程有什么区别。 带着这些疑问我继续品味关于低功耗MCU的”论战“,直到我购买了《MSP430系列单片机系统工程设计与实践》。在该书中提到了低功耗MCU编程的基本思想,大致可以总结为: 1.善用节拍 2.消除阻塞 下面就结合STM8谈谈如何实践以上两点。(虽然STM8
[单片机]
结合STM8谈谈<font color='red'>低功耗</font>MCU编程的基本思想
低功耗蓝牙赋能的太阳镜为摩托车手提供免分心导航体验
Blucap Moto 采用 Nordic Semiconductor 的 nRF52840 和 nRF52810 SoC,为太阳镜、手把遥控器和骑手的智能手机提供无线连接 挪威奥斯陆 – 2024年10月18日 – 技术公司Blucap推出了一副可用作摩托车导航平视显示器(HUD)的太阳镜 。轻巧的 “Blucap Moto ”太阳镜集成了Nordic Semiconductor公司的nRF52840 SoC,为太阳镜和骑手的智能手机以及车把上的遥控配件提供低功耗蓝牙无线连接。遥控器采用 Nordic 的 nRF52810 SoC 实现无线连接。 一旦太阳镜与用户的智能手机配对,骑行者就可以使用功能齐全的 “Blu
[物联网]
<font color='red'>低功耗</font>蓝牙赋能的太阳镜为摩托车手提供免分心导航体验
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved