博客
关于我
【函数库】自己的函数库_liangchaoxi的IT博客_新浪博客
阅读量:480 次
发布时间:2019-03-06

本文共 1804 字,大约阅读时间需要 6 分钟。

1、2011.11.4 MSP430串口波特率设置函数

void UART3_set_bps(unsigned int BaudRate)

{
  BaudRate=25000000/ BaudRate; //主系统时钟频率=25MHz  
  UCA3BR0 =BaudRate&0x00FF;                          
  UCA3BR1 =BaudRate>>8;                        
}

附:

void UART3_Init()

{
  //  UART3 Function, Idle line multiprocessor Protocol, 9600,8,n,1 for GSM 
  P10SEL |= 0x30;                             // P10.4,5 = USCI_A3 TXD/RXD
  //P9SEL = 0x30;
  UCA3CTL1 |= UCSWRST;                      // **Put state machine in reset**
  UCA3CTL1 |= UCSSEL_1;                     // ACLK  辅助系统时钟 25M
  UCA3BR0 = 0x2C;                           // 25MHz 9600 (see User's Guide)
  UCA3BR1 = 0x0A;                           // 25MHz 9600
  UCA3MCTL |= UCBRS_1 + UCBRF_0;            // Modulation UCBRSx=1, UCBRFx=0
  UCA3CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  UCA3IE |= UCRXIE;                         // Enable USCI_A0 RX interrupt
}

2、字符串转成数值: 

while(*BandRate='\0')

  {num=num*10+(*BandRate-'0');
  BandRate++;

 

3、数值转换成字符串

sprintf个函数,如: sprintf(s, "%d", 123); //产生"123"
    %% 印出百分比符号,不转换。
    %c 整数转成对应的 ASCII 字元。
  %d 整数转成十进位。
  %f 倍精确度数字转成浮点数。
  %o 整数转成八进位。
  %s 整数转成字串。
  %x 整数转成小写十六进位。
  %X 整数转成大写十六进位。

    $money = 123.1

  $formatted = sprintf (".2f", $money); // 此时变数 $ formatted 值为 "123.10"

  $formatted = sprintf (".2f", $money); // 此时变数 $ formatted 值为 "00123.10"

  $formatted = sprintf ("%-08.2f", $money); // 此时变数 $ formatted 值为 "123.1000"

  $formatted = sprintf ("%.2f%%", 0.95 * 100); // 格式化为百分比  参数解释:

  %开始符

  0是"填空字元" 表示,如果长度不足时就用0来填满。

  10:格式化后总长度

  2f:小数位长度,即2位

  ¢第3行值为"00123.10" 解释:

  因为2f是(2位)+小数点符号(1)+前面123(3位)=6位,总长度为8位,故前面用[填空字元]0表示,即00123.10

  ¢第4行值为"123.1000" 解释:

  -号为反向操作,然后填空字元0添加在最后面了

 

4、十进制数值转成十六进制字符数组

 

以2字节的字符数组存放一个16进制数(存放高八位和低八位)

float value0

char value3_char[2];

 Dec_To_Hex(value3_char,value0);//风速

 

void Dec_To_Hex(char *p,float value)

{
  int TempValue;
  TempValue=(int)(value);
  *p=((TempValue>>8)&0xFF);/

int Negative_To_Bin(int Negative)
{
  Negative=-Negative;//取绝对值
  Negative=~Negative;//按位取反
  Negative=Negative+1;
  return Negative;
}

 

 

5、单精度浮点数转16进制:

 

转载地址:http://ckidz.baihongyu.com/

你可能感兴趣的文章
NIFI大数据进阶_实时同步MySql的数据到Hive中去_可增量同步_实时监控MySql数据库变化_操作方法说明_02---大数据之Nifi工作笔记0034
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_说明操作步骤---大数据之Nifi工作笔记0028
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南002---大数据之Nifi工作笔记0069
查看>>
NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
查看>>
NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
查看>>
NIH发布包含10600张CT图像数据库 为AI算法测试铺路
查看>>
Nim教程【十二】
查看>>
Nim游戏
查看>>
NIO ByteBuffer实现原理
查看>>