long double(64bit)

long double的输入输出

long double f;
scanf("%Lf", &f);
printf("%Lf\n", f);

顺带一张优先级图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码使用了 MSP430 控制器的头文件,并定义了一些宏和变量。主要的代码逻辑是使用 P1.1 引脚的中断来控制 LED1 的闪烁。 具体解释如下: 1. `#include <msp430.h>`:包含 MSP430 控制器的头文件,以便使用相关的寄存器和函数。 2. 宏定义部分: - `#define CPU_F ((double)1000000)`:定义一个名为 `CPU_F` 的宏,表示 CPU 的频率为 1MHz。 - `#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))`:定义一个名为 `delay_us` 的宏,用于延迟指定的秒数。 - `#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))`:定义一个名为 `delay_ms` 的宏,用于延迟指定的毫秒数。 3. `int main(void)`:主函数入口。 4. 中断控制部分: - `WDTCTL = WDTPW | WDTHOLD;`:停用看门狗定时器。 - `P1DIR |= BIT0;`:将 P1.0 引脚设置为输出模式,即控制 LED1。 - `P1OUT &= ~BIT0;`:将 P1.0 引脚输出低电平,关闭 LED1。 - `P1REN |= BIT1;`:使能 P1.1 引脚的上拉电阻。 - `P1OUT |= BIT1;`:将 P1.1 引脚输出高电平,设置为上拉输入。 - `P1IES |= BIT1;`:设置 P1.1 引脚的中断触发沿为下降沿触发。 - `P1IFG &= ~BIT1;`:清除 P1.1 引脚的中断标志位。 - `P1IE |= BIT1;`:使能 P1.1 引脚的中断。 5. `__bis_SR_register(LPM4_bits + GIE);`:将 CPU 进入低功耗模式 4,并开启全局中断。 6. `__no_operation();`:空操作,用于确保中断向量表正确加载。 7. 中断服务函数部分: - `#pragma vector=PORT1_VECTOR`:设置 P1.1 引脚的中断向量。 - `__interrupt void Port_1(void)`:P1.1 引脚的中断服务函数。 - 如果 P1.1 引脚被触发并且处于低电平状态,执行下面的操作: - `__delay_cycles(50);`:延迟 50 个时钟周期。 - `P1OUT ^= BIT0;`:通过异或操作改变 P1.0 引脚的状态,实现 LED1 的闪烁效果。 - `__delay_cycles(50);`:再次延迟 50 个时钟周期。 - `P1IFG &= ~BIT1;`:清除 P1.1 引脚的中断标志位,准备下一次中断触发。 - `__delay_cycles(50);`:再次延迟 50 个时钟周期。 以上就是这段代码的基本解释,它通过 P1.1 引脚的中断来控制 LED1 的闪烁,当 P1.1 引脚被触发并处于低电平时,LED1 灯状态会改变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值