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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Msp430f5529跟FDC2214源碼與資料下載

[復制鏈接]
跳轉到指定樓層
樓主
例程跟2018ti杯d題

全部資料51hei下載地址:
FDC2214_F5529_Good程序.rar (66.03 KB, 下載次數: 70)
MSP430F5529 TI官方開發板的實例程序(非常好).rar (611.21 KB, 下載次數: 56)







Msp430f5529單片機驅動fdc2214的源碼:
  1. #include <msp430F5529.h>

  2. #include "IIC_Soft.h"
  3. #include "FDC2214.h"
  4. #include "delay.h"

  5. #define uint8_t unsigned char

  6. #define UCA1_OS   1    // 1 = oversampling mode, 0 = low-freq mode
  7. #define UCA1_BR0  17   // Value of UCA1BR0 register
  8. #define UCA1_BR1  0    // Value of UCA1BR1 register
  9. #define UCA1_BRS  0    // Value of UCBRS field in UCA1MCTL register
  10. #define UCA1_BRF  6    // Value of UCBRF field in UCA1MCTL register

  11. void bcUartSend(uint8_t * buf, uint8_t len);
  12. void delay_ms(unsigned int count);
  13. void UartSend(uint8_t * buf);

  14. void sys_clk_config(void);
  15. void uart_config(void);
  16. unsigned char HexToChar(unsigned char bHex);
  17. /*
  18. * main.c
  19. */
  20. int main(void) {

  21.         unsigned long ch0_value = 0;
  22.         unsigned char dat[8]=0;

  23.     WDTCTL = WDTPW + WDTHOLD;
  24.     sys_clk_config();
  25.     uart_config();
  26.     __bis_SR_register(GIE);
  27.     FDC2214_Init();

  28. //    __bis_SR_register(LPM0_bits + GIE); // Enter LPM0, interrupts enabled
  29. //    __no_operation(); // For debugger
  30.     while(1)
  31.     {
  32.             ch0_value = FDC2214_GetResult(0);  //讀取通道0,發送到串口,轉為字符型方便觀察。
  33.             UartSend("Ch0_value is:");
  34.             dat[0] = (unsigned char)(((ch0_value>>24)>>4)&0X0F);
  35.             dat[0] = HexToChar(dat[0]);
  36.             Uart_Send_Char(dat[0]);
  37.             dat[0] = (unsigned char)(((ch0_value>>24)>>0)&0X0F);
  38.             dat[0] = HexToChar(dat[0]);
  39.             Uart_Send_Char(dat[0]);

  40.             dat[0] = (unsigned char)(((ch0_value>>16)>>4)&0X0F);
  41.             dat[0] = HexToChar(dat[0]);
  42.             Uart_Send_Char(dat[0]);
  43.             dat[0] = (unsigned char)(((ch0_value>>16)>>0)&0X0F);
  44.             dat[0] = HexToChar(dat[0]);
  45.             Uart_Send_Char(dat[0]);

  46.             dat[0] = (unsigned char)(((ch0_value>>8)>>4)&0X0F);
  47.             dat[0] = HexToChar(dat[0]);
  48.             Uart_Send_Char(dat[0]);
  49.             dat[0] = (unsigned char)(((ch0_value>>8)>>0)&0X0F);
  50.             dat[0] = HexToChar(dat[0]);
  51.             Uart_Send_Char(dat[0]);

  52.             dat[0] = (unsigned char)(((ch0_value>>0)>>4)&0X0F);
  53.             dat[0] = HexToChar(dat[0]);
  54.             Uart_Send_Char(dat[0]);
  55.             dat[0] = (unsigned char)(((ch0_value>>0)>>0)&0X0F);
  56.             dat[0] = HexToChar(dat[0]);
  57.             Uart_Send_Char(dat[0]);
  58.             UartSend("\n");delay_ms(100);

  59.             ch0_value = FDC2214_GetResult(1);
  60.             UartSend("Ch1_value is:");
  61.             dat[0] = (unsigned char)(((ch0_value>>24)>>4)&0X0F);
  62.             dat[0] = HexToChar(dat[0]);
  63.             Uart_Send_Char(dat[0]);
  64.             dat[0] = (unsigned char)(((ch0_value>>24)>>0)&0X0F);
  65.             dat[0] = HexToChar(dat[0]);
  66.             Uart_Send_Char(dat[0]);

  67.             dat[0] = (unsigned char)(((ch0_value>>16)>>4)&0X0F);
  68.             dat[0] = HexToChar(dat[0]);
  69.             Uart_Send_Char(dat[0]);
  70.             dat[0] = (unsigned char)(((ch0_value>>16)>>0)&0X0F);
  71.             dat[0] = HexToChar(dat[0]);
  72.             Uart_Send_Char(dat[0]);

  73.             dat[0] = (unsigned char)(((ch0_value>>8)>>4)&0X0F);
  74.             dat[0] = HexToChar(dat[0]);
  75.             Uart_Send_Char(dat[0]);
  76.             dat[0] = (unsigned char)(((ch0_value>>8)>>0)&0X0F);
  77.             dat[0] = HexToChar(dat[0]);
  78.             Uart_Send_Char(dat[0]);

  79.             dat[0] = (unsigned char)(((ch0_value>>0)>>4)&0X0F);
  80.             dat[0] = HexToChar(dat[0]);
  81.             Uart_Send_Char(dat[0]);
  82.             dat[0] = (unsigned char)(((ch0_value>>0)>>0)&0X0F);
  83.             dat[0] = HexToChar(dat[0]);
  84.             Uart_Send_Char(dat[0]);
  85.             UartSend("\n");delay_ms(100);


  86.             ch0_value = FDC2214_GetResult(2);
  87.             UartSend("Ch2_value is:");
  88.             dat[0] = (unsigned char)(((ch0_value>>24)>>4)&0X0F);
  89.             dat[0] = HexToChar(dat[0]);
  90.             Uart_Send_Char(dat[0]);
  91.             dat[0] = (unsigned char)(((ch0_value>>24)>>0)&0X0F);
  92.             dat[0] = HexToChar(dat[0]);
  93.             Uart_Send_Char(dat[0]);

  94.             dat[0] = (unsigned char)(((ch0_value>>16)>>4)&0X0F);
  95.             dat[0] = HexToChar(dat[0]);
  96.             Uart_Send_Char(dat[0]);
  97.             dat[0] = (unsigned char)(((ch0_value>>16)>>0)&0X0F);
  98.             dat[0] = HexToChar(dat[0]);
  99.             Uart_Send_Char(dat[0]);

  100.             dat[0] = (unsigned char)(((ch0_value>>8)>>4)&0X0F);
  101.             dat[0] = HexToChar(dat[0]);
  102.             Uart_Send_Char(dat[0]);
  103.             dat[0] = (unsigned char)(((ch0_value>>8)>>0)&0X0F);
  104.             dat[0] = HexToChar(dat[0]);
  105.             Uart_Send_Char(dat[0]);

  106.             dat[0] = (unsigned char)(((ch0_value>>0)>>4)&0X0F);
  107.             dat[0] = HexToChar(dat[0]);
  108.             Uart_Send_Char(dat[0]);
  109.             dat[0] = (unsigned char)(((ch0_value>>0)>>0)&0X0F);
  110.             dat[0] = HexToChar(dat[0]);
  111.             Uart_Send_Char(dat[0]);
  112.             UartSend("\n");delay_ms(100);


  113.             ch0_value = FDC2214_GetResult(3);
  114.             UartSend("Ch3_value is:");
  115.             dat[0] = (unsigned char)(((ch0_value>>24)>>4)&0X0F);
  116.             dat[0] = HexToChar(dat[0]);
  117.             Uart_Send_Char(dat[0]);
  118.             dat[0] = (unsigned char)(((ch0_value>>24)>>0)&0X0F);
  119.             dat[0] = HexToChar(dat[0]);
  120.             Uart_Send_Char(dat[0]);

  121.             dat[0] = (unsigned char)(((ch0_value>>16)>>4)&0X0F);
  122.             dat[0] = HexToChar(dat[0]);
  123.             Uart_Send_Char(dat[0]);
  124.             dat[0] = (unsigned char)(((ch0_value>>16)>>0)&0X0F);
  125.             dat[0] = HexToChar(dat[0]);
  126.             Uart_Send_Char(dat[0]);

  127.             dat[0] = (unsigned char)(((ch0_value>>8)>>4)&0X0F);
  128.             dat[0] = HexToChar(dat[0]);
  129.             Uart_Send_Char(dat[0]);
  130.             dat[0] = (unsigned char)(((ch0_value>>8)>>0)&0X0F);
  131.             dat[0] = HexToChar(dat[0]);
  132.             Uart_Send_Char(dat[0]);

  133.             dat[0] = (unsigned char)(((ch0_value>>0)>>4)&0X0F);
  134.             dat[0] = HexToChar(dat[0]);
  135.             Uart_Send_Char(dat[0]);
  136.             dat[0] = (unsigned char)(((ch0_value>>0)>>0)&0X0F);
  137.             dat[0] = HexToChar(dat[0]);
  138.             Uart_Send_Char(dat[0]);
  139.             UartSend("\n");delay_ms(100);


  140.             UartSend("\n");                     //換行,延時,方便觀察數據
  141.             delay_ms(10000);delay_ms(10000);



  142.     }
  143. //        return 0;
  144. }

  145. /************USCI_A1中斷*************/
  146. #pragma vector=USCI_A1_VECTOR
  147. __interrupt void USCI_A1_ISR(void)
  148. {  switch(__even_in_range(UCA1IV,4))
  149.   {
  150.   case 0:break;
  151.   case 2:
  152.     while (!(UCA1IFG&UCTXIFG));
  153.     UCA1TXBUF = UCA1RXBUF;       // 將接收到的數據發送出去
  154.     break;
  155.   case 4:break;
  156.   default: break;
  157.   }
  158. }

  159. // Sends 'len' bytes, starting at 'buf'
  160. void bcUartSend(uint8_t * buf, uint8_t len)
  161. {
  162.     uint8_t i = 0;

  163.     // Write each byte in buf to USCI TX buffer, which sends it out
  164.     while (i < len)
  165.     {
  166.         UCA1TXBUF = *(buf+(i++));
  167. //      while (!(UCA1IFG&UCTXIFG));
  168. //      delay_ms(20);
  169. //      Wait until each bit has been clocked out...
  170.         while(!(UCTXIFG==(UCTXIFG & UCA1IFG))&&((UCA1STAT & UCBUSY)==UCBUSY));
  171.     }
  172. }

  173. void UartSend(uint8_t * buf)
  174. {
  175.         while(*buf !='\0')
  176.         {
  177.                 while (!(UCA1IFG&UCTXIFG));
  178.                 UCA1TXBUF=*buf;
  179.                 *buf++;
  180.                 delay_ms(2);
  181.         }
  182. }

  183. void Uart_Send_Char(uint8_t dat)
  184. {

  185.                 while (!(UCA1IFG&UCTXIFG));
  186.                 UCA1TXBUF=dat;
  187. }

  188. void delay_ms(unsigned int count)
  189. {
  190.   unsigned int i,j;
  191.   for(i=0;i<count;i++)
  192.           for(j=0;j<10;j++)
  193.                   delay_us();
  194. }
  195. void sys_clk_config(void)  //外部晶振4M
  196. {
  197.     P5SEL |= BIT2|BIT3;
  198.     UCSCTL6 &= ~XT2OFF;

  199.     UCSCTL4 = UCSCTL4&(~(SELA_7))|SELA_1;
  200.     UCSCTL3 |= SELREF_2;

  201.     while (SFRIFG1 & OFIFG)
  202.     {
  203.       UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);
  204.       SFRIFG1 &= ~OFIFG;
  205.     }
  206.     UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_5|SELM_5;
  207. }
  208. void uart_config(void)
  209. {
  210.     P4SEL |= BIT4+BIT5;

  211.     UCA1CTL1 |= UCSWRST;
  212.     UCA1CTL1 |= UCSSEL_2;

  213.     UCA1BR0 = 34;//115200,外部4M
  214.     UCA1BR1 = 0;
  215.     UCA1MCTL |= UCBRS_6+UCBRF_0;

  216.     UCA1CTL1 &= ~UCSWRST;
  217.     UCA1IE |= UCRXIE;

  218. }

  219. unsigned char HexToChar(unsigned char bHex)
  220. {

  221.         if((bHex>=0)&&(bHex<=9))
  222.         {
  223.                 bHex += 0x30;
  224.         }
  225.         else if((bHex>=10)&&(bHex<=15))//Capital
  226.         {
  227.                 bHex += 0x37;
  228.         }
  229.         else
  230.         {
  231.                 bHex = 0xff;
  232.         }
  233.         return bHex;
  234. }
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:346674 發表于 2018-7-22 00:32 | 只看該作者
232021045.248是什么。。。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九九久久国产免费 | 国产精品视频一区二区三区, | 亚洲精品888| 国产精品亚洲综合 | 久久久一区二区三区 | 99亚洲精品 | 91在线免费视频 | 亚洲欧美一区二区三区国产精品 | 色资源在线 | 久久久久久免费毛片精品 | 国产高清一二三区 | a亚洲精品 | a级片在线观看 | 国产97在线看 | 国产精品一区二区在线 | 婷婷色在线 | 91中文字幕在线观看 | 国外成人在线视频网站 | 成人午夜免费视频 | 国产精品视频播放 | 国产精品国产三级国产aⅴ入口 | 欧美精品区 | 日韩一区二区三区在线 | 中文字幕不卡一区 | 日韩精品中文字幕一区二区三区 | 国产亚洲欧美在线 | 久久天天躁狠狠躁夜夜躁2014 | 98久久| av天天爽| 日韩精品在线看 | 五月天国产视频 | 日本a网站| 国产精品黄视频 | 狠狠狠色丁香婷婷综合久久五月 | 一区二区三区四区国产 | www国产亚洲精品 | 国产午夜精品一区二区三区四区 | 男人天堂色 | 精品国产精品一区二区夜夜嗨 | 伊人网站在线 | 特黄视频 |