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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4021|回復: 1
收起左側

TI公司芯片LDC1314 STM32測試程序

[復制鏈接]
ID:523552 發表于 2019-7-23 10:01 | 顯示全部樓層 |閱讀模式
最近使用STM32F103編寫的LDC1314多通道測試程序,里面包含LDC1314的數據手冊,請認真讀取分析,特別是寄存器操作那一塊的內容。

單片機源程序如下:
  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, 下載次數: 57)


回復

使用道具 舉報

ID:848354 發表于 2021-3-13 01:27 | 顯示全部樓層
請問這個WRITE_ADDR為什么是0x55,不是0x2A?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成年人视频网站 | 玖玖伊人| 精品国产精品 | 91视频18| 亚洲精品少妇 | 国产免费自拍视频 | 精品久久影院 | 99视频网 | 日韩成人综合 | a视频在线观看 | 午夜国产在线观看 | 蜜桃在线观看视频 | 91福利视频导航 | 亚洲视频三区 | aa一级片 | 特黄老太婆aa毛毛片 | 免费毛片网 | 免费视频a | 天天躁日日躁狠狠躁av麻豆男男 | 欧美一级片 | 九九热精品在线 | 黄色成人毛片 | 日韩福利视频 | 天天搞天天干 | 久久久久久九九九九 | 亚洲精品一二三区 | 在线精品一区 | 在线观看黄色av | 欧美在线中文字幕 | 91麻豆成人精品国产 | 日韩资源在线 | 又色又爽又黄18网站 | 日韩精品一区在线 | 黄视频网站在线观看 | 欧美午夜精品 | 国产黄色av| 欧美激情久久久 | 美女免费视频网站 | 精品视频99 | av福利网站| 中文字字幕在线 |