久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3839|回復: 1
打印 上一主題 下一主題
收起左側

TI公司芯片LDC1314 STM32測試程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:523552 發(fā)表于 2019-7-23 10:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近使用STM32F103編寫的LDC1314多通道測試程序,里面包含LDC1314的數(shù)據(jù)手冊,請認真讀取分析,特別是寄存器操作那一塊的內容。

單片機源程序如下:
  1. #include "ldc1314.h"
  2. #include "myiic.h"
  3. #include "delay.h"

  4. u16 LDC1314_Read2Byte(u8 reg_addr)
  5. {
  6.      u16 reg_data=0;
  7.      u16 temp=0;
  8.      IIC_Start();
  9.      IIC_Send_Byte(WRITE_ADDR);
  10.      if(IIC_Wait_Ack())return 0;
  11.      IIC_Send_Byte(reg_addr);
  12.            if(IIC_Wait_Ack())return 0;
  13.      IIC_Start();
  14.            IIC_Send_Byte(READ_ADDR);
  15.      if(IIC_Wait_Ack())return 0;
  16.      reg_data= IIC_Read_Byte(1);
  17.      reg_data=(reg_data<<8)&0xFF00;
  18.      temp=IIC_Read_Byte(0);
  19.      IIC_Stop();
  20.         
  21.           reg_data|=temp;
  22.     return reg_data;
  23. }

  24. u8 LDC1314_Write2Byte(u8 reg_addr,u16 reg_data)
  25. {        
  26.    u8 data_high=(u8)((reg_data&0xFF00)>>8);
  27.    u8 data_low=(u8)reg_data&0x00FF;
  28.          IIC_Start();
  29.          IIC_Send_Byte(WRITE_ADDR);   
  30.    if(IIC_Wait_Ack())return 0;
  31.    IIC_Send_Byte(reg_addr );   
  32.          if(IIC_Wait_Ack())return 0;        
  33.    IIC_Send_Byte(data_high);
  34.    if(IIC_Wait_Ack())return 0;        
  35.    IIC_Send_Byte(data_low);
  36.    if(IIC_Wait_Ack())return 0;                 
  37.    IIC_Stop();
  38.          delay_ms(5);
  39.    return 1;
  40. }

  41. void LDC1314_Init_Multi()
  42. {      
  43.    LDC1314_Write2Byte(RCOUNT0,0XFFFF);
  44.    LDC1314_Write2Byte(RCOUNT1,0XFFFF);
  45.          LDC1314_Write2Byte(RCOUNT2,0XFFFF);
  46.    LDC1314_Write2Byte(RCOUNT3,0XFFFF);
  47.         
  48.          LDC1314_Write2Byte(SETTLECOUNT0,0x000A);
  49.    LDC1314_Write2Byte(SETTLECOUNT1,0x000A);
  50.    LDC1314_Write2Byte(SETTLECOUNT2,0x000A);
  51.          LDC1314_Write2Byte(SETTLECOUNT3,0x000A);
  52.         
  53.    LDC1314_Write2Byte(CLK_DIVIDERS0,0x2002);
  54.    LDC1314_Write2Byte(CLK_DIVIDERS1,0x2002);
  55.    LDC1314_Write2Byte(CLK_DIVIDERS2,0x2002);
  56.    LDC1314_Write2Byte(CLK_DIVIDERS3,0x2002);
  57.         
  58.    LDC1314_Write2Byte(ERROR_CONFIG,0X0000);  
  59.    LDC1314_Write2Byte(RESET_DEV,0x0000);
  60.    
  61. //   LDC1314_Write2Byte(MUX_CONFIG,0X420C);  
  62.    LDC1314_Write2Byte(MUX_CONFIG,0xC20D);
  63.         
  64.    LDC1314_Write2Byte(DRIVE_CURRENT0,0xF800);
  65.    LDC1314_Write2Byte(DRIVE_CURRENT1,0xF800);
  66.    LDC1314_Write2Byte(DRIVE_CURRENT2,0xF800);
  67.    LDC1314_Write2Byte(DRIVE_CURRENT3,0xF800);
  68.       
  69.    LDC1314_Write2Byte(CONFIG,0x1401);

  70. }

  71. void LDC1314_Init_single()
  72. {
  73.    LDC1314_Write2Byte(RCOUNT0,0xFFFF);
  74.    LDC1314_Write2Byte(SETTLECOUNT0,0x0000);
  75.    LDC1314_Write2Byte(CLK_DIVIDERS0,0x2002);
  76.    LDC1314_Write2Byte(RESET_DEV,0x0000);     
  77.    LDC1314_Write2Byte(DRIVE_CURRENT0,0xF800);
  78.    LDC1314_Write2Byte(CONFIG,0x1441);       //大于1.5mA電流(僅通道0使用)
  79. }

  80. u16 LDC_read_CHx(u8 CHx)        //讀Channel x Conversion Result
  81. {
  82.         u8 reg_addr1 = 0;        
  83.         u16 val = 0;                                
  84.         switch(CHx)
  85.         {
  86.                 case 0:
  87.                 {
  88.                         reg_addr1 = DATA0_MSB;
  89.                 }break;
  90.                 case 1:
  91.                 {
  92.                         reg_addr1 = DATA1_MSB;
  93.                 }break;
  94.                 case 2:
  95.                 {
  96.                         reg_addr1 = DATA2_MSB;
  97.                 }break;
  98.                 case 3:
  99.                 {
  100.                         reg_addr1 = DATA3_MSB;
  101.                 }break;
  102.                 default: return 0;        //輸入錯誤
  103.         }
  104.         
  105.         val = LDC1314_Read2Byte(reg_addr1);        //讀取寄存器值
  106.         return val;        

  107. }
  108.         
復制代碼

所有資料51hei提供下載:
LDC1314 模塊.7z (1.69 MB, 下載次數(shù): 57)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:848354 發(fā)表于 2021-3-13 01:27 | 只看該作者
請問這個WRITE_ADDR為什么是0x55,不是0x2A?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本三级日产三级国产三级 | 欧美激情一区二区 | 亚洲精品久久久一区二区三区 | 一区二区三区小视频 | 日韩a v在线免费观看 | 日韩av成人 | 狠狠色狠狠色综合系列 | 亚洲精品一区在线观看 | 天天干天天插 | 国产一区二区日韩 | 国产精品久久久久久久久久免费看 | aaaa网站 | 亚洲成人福利在线观看 | 亚洲欧美一区二区三区1000 | 日韩精品一区二区三区在线观看 | 国产精品免费福利 | 亚洲高清久久 | 欧美中文字幕一区二区三区亚洲 | 96久久久久久 | 欧美人妖网站 | 久久网亚洲 | 韩国精品一区二区三区 | av片免费观看 | 91久久久久久 | 国产精品日韩一区 | 91精品国产欧美一区二区 | 国产日韩亚洲欧美 | 成人亚洲精品久久久久软件 | 久久伊人亚洲 | 久久久女女女女999久久 | www.色综合| 国产精产国品一二三产区视频 | 亚洲电影一区二区三区 | 国产在线一区二 | 日韩国产精品一区二区三区 | 久久综合九色综合欧美狠狠 | 日韩在线视频免费观看 | 亚洲一二三区在线观看 | 日本精品一区二区三区在线观看 | 亚洲一区在线日韩在线深爱 | 欧美精品久久久久久 |