疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) -----(六)基础知识补充
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)
(六)基础知识补充
常用数据类型
数据类型 | 字节 | 数值范围 |
---|---|---|
Char | 1 | -128~127 |
Unsigned char | 1 | 0`255 |
short | 2 | -32768~32767 |
Unsigned short | 2 | 0~65535 |
Int | 2 | -32768~32767 |
Unsigned int | 2 | -32768~32767 |
Long | 4 | -231~231-1 |
Unsigned | 4 | 0~232-1 |
Float | 4 | -+1.18E-38~-+3.39E+38 |
运算符
- +、-、*、/;
- % 模运算 (5%2=1);
- ++、–;
- 、>、>=、<、<=、==、!=、&&、||、!、=;
- ()强制转换
拓展的关键字—与I/O访问相关
- sfrb 单字节
语法:sfrb标志符=常量表达式;
等价于无符号字符、只能直接寻址、只能驻留在地址范围0x00~0xFF;
例:sfrbP1OUT=0x0021;
- sfrw 双字节
语法:sfrw标识符=常量表达式;
等价于无符号字符、只能直接寻址、只能驻留在地址范围0x00~0xFF;
例:sfrwWDTCTL=0x0021;
拓展的关键字—函数类
- interrupt:
用于中断函数
语法:interrupt [中断向量] void 函数名 ()
参数:中断函数没有参数
返回:中断函数一般是viod, 没有返回一般要说明中断向量
interrupt [TIMERBO_VECTOR] void TIMERB_ISR (void)
{
}
拓展的关键字—#Pragma 编译命令
#Pragma 编译命令控制编译器的储存器分配,控制是否允许用拓展关键字,以及是否输出警告消息。它提供符合标准语法的扩展特性。
#Pragam 编译命令是否可用与 “-e” 选项无关。
基本语句
if | 选择语言 |
---|---|
while | 循环语言 |
for | 循环语言 |
switch/case | 多分支选择语言 |
do-while | 循环语言 |
各语句格式
if
- if(表达式){语句;}
- if(表达式){语句1;}else{语句2;}
- if (表达式1){语句1;}
else if (表达式2){语句2;}
…
else if (表达式n-1){语句n-1;}
else {语句n }
Switch/case
switch (表达式)
{
case 常量表达式1:{语句1;}break;
case 常量表达式2:{语句2;}break;
…
case 常量表达式n: {语句n;}break;
default : {语句n+1;}
}
While
while (表达式)
{
语句;
}
/循环体/
注意:
当表达式为非0(真)时,就重复执行循环体内的语句;
当表达式为0(假)时,就中止while循环,程序将执行循环 结构之外的下一条语句;
Do while
do
{
语句;
}
/循环体/
while (表达式);
注意:
如表达式成立(真),则执行循环体,然后继续判断,直到有表达式不成立(假)时,退出循环,执行do while 结构的下一条语句。
For
for(表达式1;表达式2;表达式3)
{
语句;
}
/循环体/
执行过程如下:
- 先求解表达式1的值。
- 求解表达式2的值,如表达式2的值为真,则执行循环体中的语句,然后执行下一步的操作。如表达式2的值为假,则结束for循环,转到最后一步。
- 若表达式2的值为真,则执行完循环体中的语句后,求解表达式3。
- 转到第二步继续执行。
- 退出循环执行下面一条语句。
函数的调用
- 函数语句。把被调用函数作为主调用函数的一个语句
- 函数表达式。函数被放在一个表达式中,以一个运算对象方式出现。这时的被调用函数要求带有返回语句,以返回一个明确的数值参加表达式运算。
- 函数参数。被调用函数作为另一个函数的参数。
C430内部函数
_ _bcd-add-type | Performs a binary coded decimal operation |
---|---|
_ _bic_SR_register | Clears bits in the SR register |
bic_SR_register_on_exit | Clears bits in the SR register when an interrupt or monitor function returns |
bis_SR_regiscer | Sets bits in the SR register |
bis_SR_register_on_exit | Sets bits in the SR register when an interrupt or monitor function returns |
_ _data16_read_addr | Reads data to a 20-bit SFR register |
_ _data16_write_addr | Writes data to a 20-bit SFR register |
_ _data20_read_type | Reads data which has a 20-bit address |
_ _data20_write_type | Writes data which has a 20-bit address |
_ _disable_interrupt | Disables interrupts |
_ _enable_interrupt | Enables interrupts |
_ _even_in_range | Instructs the compiler to rely on the specifiedvalue being even and within the specified range |
_ _get_interrupt_state | Returns the interrupt state |
_ _get_R4_register | Returns the value of the R4 register |
_ _get_R5_regiater | Returns the value of the R5 register |
_ _get_SP_register | Returns the value of the stack pointer |
_ _get_SR_register | Returns the value of the SR register |
_ _get_SR_register_on_exit | Returns the value of the processor statusregister when the current interrupt ormonitor function returns |
_ _ low_power_mode_n | Enters a MSP430 low power mode |
__low_power_mode_off_on_exit | Turns off low power mode when monitor orinterrupt function returns |
_ _no_operation | Inserts a NOP instruction |
_ _9P_code | Inserts a constant into the instruction stream |
_ _set_interrupt_state | Restores the interrupt state |
_ _set_R4_register | Writes a specific value to the R4 register |
_ _set R5_register | Writes a specific value to the R5 register |
_ _set _SP_register | Writes a specific value to the SP register |
_ _swap_bytes | Executes the SWPB instruction |
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) -----(六)基础知识补充相关推荐
- 独立艺术家大谷spizher带你玩转PaddleGAN
一个曾被 "卷积网络之父"Yann LeCun(杨立昆)誉为「过去十年计算机科学领域最有趣的想法之一」,是近年来火遍全网,AI 研究者最为关注的深度学习算法方向之一,GAN--生成 ...
- 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(十)定时计数器
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (十) 定时计数器 MSP430G2553带有一个16位时/计数器TIMER_A,用来精确定时或计数.并且添加了3路捕捉比较模块,可以在无需CP ...
- 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(十二)AD转换器
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (十二)AD转换器 ADC10是MSP430 单片机的片上模数转换器,其转换位数为10比特,该模块内部是一个SAR型的AD内核,可以在片内产生参 ...
- 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(十四)中断系统
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (十三)中断系统 中断是暂停CPU正在运行的程序,转去执行相应的中断服务程序,完毕后返回被中断的程序继续运行的现象和技术. 中断源(中断分类) ...
- 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(十三)比较器
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (十三)比较器 比较器是为精确比较测量而设计 如电池电压监测.产生外部模拟信号.测量电流.电容和电阻,结合其他模块还可以实现精确的A/D转换. ...
- 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(九)IO口的介绍
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (九) IO口的介绍 MSP430G2553 共提供了16个IO口,P1.0-P1.7:P2.0-P2.7,即可通用IO口也可以时复用功能. 各 ...
- 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)-----(七)系统时钟的介绍
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (七)系统时钟的介绍 MSP430G2553 系列单片机的时钟系统,包括2-4个时钟源,可以为外设和CPU提供3个系统时钟. 注意:LFX1不支 ...
- 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(十一)看门狗
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (十一) 看门狗 开看门狗(默认开):WDTCTL=WDTPW; 清看门狗:WDTCTL=WDTPW+WDTCNTCL; 关看门狗:WDTCTL ...
- 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)-----(八)低功耗模式补充
疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (八)低功耗模式补充 如果MSP430处于低功耗模式的工作状态,当可屏蔽中断和非可屏蔽中断源产生时,就会唤醒CPU进入中断处理程序. 入栈保护当 ...
最新文章
- 图挖掘与多关系学习:工具与应用,亚马逊与CMU-WWW2021教程(附ppt)
- SAP Web Intelligence初探
- php截取剩余部分,PHP从字串中截取一部分,支持使用(*)模糊截取
- python创建打开文件-python打开文件方式
- go micro java_Java Micro Framework:您无法忽略的新趋势
- C语言深入理解系列 - 关键字:auto和register
- MySQL 显示版本、端口、状态
- 日志时间与系统时间不一致问题解决方法
- 动感标题文字快闪(闪白特效)开场PR模板MOGRT
- js分割字符串转数组
- 强烈分享8个功能强大,可以极大提高工作效率的软件
- 黑马程序员——多态和抽象类的相关知识
- ubuntu 18.04安装 vmware 15
- 耳机——AKG K450 及 Beats Solo2 对比
- php 调用java接口
- 为你的Android Studio更换好看的主题风格
- 沙盒在源代码防泄露领域的表现分析
- 【iMessage苹果相册推信息推】 Apple DeviceToken生成的装备上的多个利用程序。 public void subscribe(int clientId, Looper looper
- LinuxC—标准IO与文件IO学习笔记
- 图像指数、对数增强、直方图均衡化