⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 f_11_32_i2cmemtst.c

📁 * Use 10 MHz crystal frequency. * Use Timer0 for ten millisecond looptime. * Blink "Alive" LED e
💻 C
字号:
#include "config.h"#include "serial.c"#include "serio.c"#include "delay.h"#include "i2cmsu.c"#include "i2c_memutil.c"#define EEPROM 0xA0  unsigned char membuf[BLKSIZE];unsigned int memaddr;void main(void){  unsigned char mode,i;  serial_init(95,1); // 19200 in HSPLL mode, crystal = 7.3728 MHz  if (!RI) {    RI = 1;    printf("Software reset!");pcrlf();    if (i2c_errstat) i2c_print_err();  }  if (!TO) {    printf("Watchdog timer reset has occurred.\n");    pcrlf();    if (i2c_errstat) i2c_print_err();  }  i2c_init(73); // ~100 kHz @ FOSC = 29.4912 MHz  pcrlf();  printf("I2C Mem Test Started");  pcrlf();  SWDTEN = 1;  // enable watchdog timer  memaddr = 0;  printf ("Enter 'w' for write mode, anything else reads: ");  mode = getche();  pcrlf();  while(1) {    if (mode == 'w') {      printf("Enter %d chars.",BLKSIZE);pcrlf();      for(i = 0;i< BLKSIZE;i++) {	membuf[i] = getche();      }      pcrlf();printf("Doing Write");pcrlf();      // write same string twice to check Write Busy polling      i2c_memwrite(EEPROM,memaddr,(unsigned char *)membuf); // do write      memaddr = memaddr +BLKSIZE;      i2c_memwrite(EEPROM,memaddr,membuf); // do write      memaddr = memaddr +BLKSIZE;    } else {      i2c_memread(EEPROM,memaddr,membuf); // do read      for(i = 0;i< BLKSIZE;i++) putch(membuf[i]);      pcrlf();      printf("Any key continues read...");pcrlf();      getch();      memaddr = memaddr + BLKSIZE;    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -