欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: stm32驅(qū)動(dòng)AT24C02模擬/固定 I2C兩種方式 而且可以讀寫(xiě)小數(shù) [打印本頁(yè)]

作者: teleboy    時(shí)間: 2018-7-17 19:18
標(biāo)題: stm32驅(qū)動(dòng)AT24C02模擬/固定 I2C兩種方式 而且可以讀寫(xiě)小數(shù)
AT24C02 模擬/固定 I2C 兩種方式  而且可以讀寫(xiě)小數(shù)

單片機(jī)源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @date    2013-xx-xx
  7.   * @brief   I2C EEPROM(AT24C02)測(cè)試,測(cè)試信息通過(guò)USART1打印在電腦的超級(jí)終端
  8.   ******************************************************************************

  9.   ******************************************************************************
  10.   */
  11.   
  12. #include "stm32f10x.h"
  13. #include "bsp_usart1.h"
  14. #include "bsP_i2c_ee.h"
  15. #include "bsP_led.h"
  16. #include <string.h>

  17. #define  EEP_Firstpage      0x00
  18. u8 I2c_Buf_Write[256];
  19. u8 I2c_Buf_Read[256];
  20. void I2C_Test(void);

  21. //void *memcpy(void *dest, const void *src, size_t n);

  22. long double cal_p[6]={0.1, 1.1, 3.1, 4.02, 6.3, 0.01};
  23. long double cal_test[6]={0};
  24. uint8_t cal_flag = 0xaa;

  25. uint8_t k;

  26. /**
  27.   * @brief  主函數(shù)
  28.   * @param  無(wú)
  29.   * @retval 無(wú)
  30.   */
  31. int main(void)
  32. {
  33.   
  34.   /* 串口1初始化 */
  35.         USART1_Config();
  36.        
  37.         printf("\r\n 這是一個(gè)I2C外設(shè)(AT24C02)讀寫(xiě)測(cè)試?yán)?\r\n");
  38.         //LED_GPIO_Config();

  39.         /* I2C 外設(shè)初(AT24C02)始化 */
  40.         I2C_EE_Init();

  41.         printf("\r\n 這是一個(gè)I2C外設(shè)(AT24C02)讀寫(xiě)測(cè)試?yán)?\r\n");       
  42.                   
  43.         //I2C_Test();
  44.   
  45. /*-------------------------------------------------------------------*/
  46.   
  47.   printf("\r\n start to write \r\n");       
  48.   I2C_EE_BufferWrite((void*)cal_p, 1, sizeof(cal_p));
  49.   //I2C_EE_BufferWrite((void*)cal_p, 1, sizeof(cal_p));
  50.   
  51.   printf("\r\n start to read \r\n");
  52.   I2C_EE_BufferRead((void*)cal_test, 1, sizeof(cal_test));
  53.        
  54.   for( k=0; k<6; k++ )
  55.     printf("%LF\r\n", cal_test[k]);

  56.   while (1)
  57.   {      
  58.   }
  59. }

  60. /**
  61.   * @brief  I2C(AT24C02)讀寫(xiě)測(cè)試
  62.   * @param  無(wú)
  63.   * @retval 無(wú)
  64.   */
  65. void I2C_Test(void)
  66. {
  67.         u16 i;

  68.         printf("寫(xiě)入的數(shù)據(jù)\n\r");
  69.    
  70.         for ( i=0; i<=255; i++ ) //填充緩沖
  71.   {   
  72.     I2c_Buf_Write[i] = i;

  73.     printf("0x%02X ", I2c_Buf_Write[i]);
  74.     if(i%16 == 15)   
  75.         printf("\n\r");   
  76.    }

  77.   //將I2c_Buf_Write中順序遞增的數(shù)據(jù)寫(xiě)入EERPOM中
  78.    //LED1(ON);
  79.         I2C_EE_BufferWrite( I2c_Buf_Write, EEP_Firstpage, 256);
  80.         //LED1(OFF);   
  81.   
  82.   printf("\n\r寫(xiě)成功\n\r");
  83.    
  84.    printf("\n\r讀出的數(shù)據(jù)\n\r");
  85.   //將EEPROM讀出數(shù)據(jù)順序保持到I2c_Buf_Read中
  86.     //LED2(ON);   
  87.         I2C_EE_BufferRead(I2c_Buf_Read, EEP_Firstpage, 256);
  88.    //LED2(OFF);
  89.    
  90.   //將I2c_Buf_Read中的數(shù)據(jù)通過(guò)串口打印
  91.         for (i=0; i<256; i++)
  92.         {       
  93. ……………………

  94. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
18、I2C-EEPROM.rar (2.36 MB, 下載次數(shù): 118)



作者: wifingtta    時(shí)間: 2021-5-26 12:03
感謝樓主,是野火的程序,測(cè)試了模擬IIC,可用,是連續(xù)寫(xiě)入和連續(xù)讀取
作者: shumivan    時(shí)間: 2021-5-26 16:34
你確定你這是硬件IIC使用嗎,穩(wěn)定嗎
作者: wifingtta    時(shí)間: 2022-5-17 16:32
驗(yàn)證過(guò)硬件IIC的程序,沒(méi)有問(wèn)題,可正常讀寫(xiě)。雖連續(xù)讀和連續(xù)寫(xiě)
作者: 大臉盤(pán)子    時(shí)間: 2022-6-11 23:30
導(dǎo)入庫(kù)函數(shù)




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1