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

📄 twi.html

📁 基于音频压缩技术的实时数据记录器的软件实现
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML><HEAD> <META NAME="GENERATOR" CONTENT="langdoc 1.0.1"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE> twi </TITLE> </HEAD> <BODY> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="6"> <TR> <TD ALIGN=CENTER VALIGN=MIDDLE BGCOLOR=BLUE> <H1> <FONT COLOR="#FFFFFF"> twi </FONT> </H1> </TD> </TR> </TABLE><P ALIGN=RIGHT> <I> Copyright (c) 2003</I> </P><H2> Library Usage </H2><H3> Package Description </H3><H3> Package Summary </H3><H4> Constants </H4><PRE></PRE><H4> Global Variables </H4><PRE><A HREF="#I2C_message">I2C_message</A> <A HREF="#I2C_slave_data[I2C_NB_SLAVE_DATA]">I2C_slave_data[I2C_NB_SLAVE_DATA]</A> </PRE><H4> Macros </H4><PRE></PRE><H4> Functions </H4><PRE><A HREF="#i2c_baud_rate">i2c_baud_rate</A> <A HREF="#I2C_decode_status">I2C_decode_status</A> <A HREF="#I2C_interrupt">I2C_interrupt</A> <A HREF="#I2C_Send_Message_interrupt">I2C_Send_Message_interrupt</A> <A HREF="#I2C_Send_Message_polling">I2C_Send_Message_polling</A> <A HREF="#I2C_slave_interrupt">I2C_slave_interrupt</A> <A HREF="#I2C_slave_polling">I2C_slave_polling</A> </PRE><H3> Files List </H3><UL><LI><B><A NAME="twi_lib.c"></A> twi_lib.c</B><BR></LI><UL>This file provides all minimal functionnal access to the I2C interface</UL><LI><B><A NAME="twi_lib.h"></A> twi_lib.h</B><BR></LI><UL>This file contains the I2C driver definition</UL></UL><H3> Included Files </H3><UL><LI><B>config.h"                         / *  system configuration  * / </B><BR></LI></UL><H2> Types Description </H2><UL><LI><B><A NAME="I2C_type_message"></A> I2C_type_message</B><BR></LI><UL><PRE>struct{ unsigned char address;                unsigned char rw;                unsigned char nbbytes;                unsigned char *buf;              } </PRE></UL></UL><H2> Constant Macros </H2><H2> Global Variables </H2><A NAME="I2C_message"></A><H3> I2C_message </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>volatile <A HREF="#I2C_type_message">I2C_type_message</A> xdata    <A HREF="#I2C_message">I2C_message</A> </PRE></TD></TABLE><P>Global public Variable for I2C message in master mode<P><HR><A NAME="I2C_slave_data[I2C_NB_SLAVE_DATA]"></A><H3> I2C_slave_data[I2C_NB_SLAVE_DATA] </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>volatile unsigned char xdata <A HREF="#I2C_slave_data[I2C_NB_SLAVE_DATA]">I2C_slave_data[I2C_NB_SLAVE_DATA]</A> </PRE></TD></TABLE><P>Global public Variable for I2C message in slave mode<P><HR><H2> Function Macros </H2><H2> Functions </H2><A NAME="i2c_baud_rate"></A><H3> i2c_baud_rate </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>unsigned char i2C_baud_rate  ( unsigned int ratio )  </PRE></TD></TABLE><P>returns correct value for CR2..CR0.<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>return:  value for CR2..CR0 </PRE></TD></TABLE><H4> Example </H4><PRE>SSCON |= i2c_baud_rate(256);</PRE><HR><A NAME="I2C_decode_status"></A><H3> I2C_decode_status </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#I2C_decode_status">I2C_decode_status</A>  ( void )  </PRE></TD></TABLE><P>main processing state machine for I2C message reception transmissionin slave or master mode.This function is called when an event occured on the I2C interface.Can be used both in polling or interrupt mode.<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>return:  none</PRE></TD></TABLE><HR><A NAME="I2C_interrupt"></A><H3> I2C_interrupt </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#I2C_interrupt">I2C_interrupt</A> (  )  interrupt IRQ_I2C using 1 </PRE></TD></TABLE><P>I2C interrupt routine service<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>return:  none</PRE></TD></TABLE><HR><A NAME="I2C_Send_Message_interrupt"></A><H3> I2C_Send_Message_interrupt </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>unsigned char <A HREF="#I2C_Send_Message_interrupt">I2C_Send_Message_interrupt</A>  ( unsigned char slave_adr , bit rw ,  unsigned char nbytes ,  unsigned char  * info )  </PRE></TD></TABLE><P>This function can be used to send an I2C message to a slavein interrupt mode.<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*slave_adr:  The slave component addressrw: Read or write operation flag ( read = 1 )nbbytes: number of bytes to be read or write *info: pointer to the data to be processedreturn:  I2C error code state</PRE></TD></TABLE><HR><A NAME="I2C_Send_Message_polling"></A><H3> I2C_Send_Message_polling </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>unsigned char <A HREF="#I2C_Send_Message_polling">I2C_Send_Message_polling</A>  ( unsigned char slave_adr , bit rw ,  unsigned char nbbytes ,  unsigned char  * info  )  </PRE></TD></TABLE><P>This function can be used to send an I2C message to a slavein polling mode.<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>*slave_adr:  The slave component addressrw: Read or write operation flag ( read = 1 )nbbytes: number of bytes to be read or write *info: pointer to the data to be processedreturn:  I2C error code state</PRE></TD></TABLE><HR><A NAME="I2C_slave_interrupt"></A><H3> I2C_slave_interrupt </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>void <A HREF="#I2C_slave_interrupt">I2C_slave_interrupt</A>  ( void )  </PRE></TD></TABLE><P>This function can be called to be able to answer another master requestin interrupt mode (stand alone mode).<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>return:  none</PRE></TD></TABLE><HR><A NAME="I2C_slave_polling"></A><H3> I2C_slave_polling </H3><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#D6E8FF"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>unsigned char <A HREF="#I2C_slave_polling">I2C_slave_polling</A>  ( void )  </PRE></TD></TABLE><P>This function can be called to be able to answer another master requestin polling mode.<P><TABLE BORDER="0"  WIDTH="100 %"  BGCOLOR="#FFD0D0"  CELLPADDING="6"><TR> <TD VALIGN=MIDDLE><PRE>return:  I2C error code state</PRE></TD></TABLE><HR></BODY></HTML>

⌨️ 快捷键说明

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