📄 lf_pwm.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by AsmDoc -->
<TITLE>
HTMLWriter
</TITLE>
<META NAME="keywords" CONTENT="HTMLWriter class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="LF_pwm";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ======== START OF CLASS DATA ======== -->
<H2>
Module LF_pwm</H2>
<HR>
<P>
LF_PWM.asm Jan Ornter DATE: 11-9-2005 VER.: 1.0 This class implements the LF transmission protocoll. It uses the commands of the AFE to modulate the data via LF-Talkback on the carrier signal. The following diagrams visualize the coding of the data.<BR>
<P>
<P>
<B> A coded '0':</B><p style="position:relative;" id="LF_pwm_time_0_p"><IMG SRC="LF_pwm_time_0.jpg" NAME="LF_pwm_time_0" BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("LF_pwm_time_0_res()",100);var LF_pwm_time_0_init = document.LF_pwm_time_0.width ;function LF_pwm_time_0_res(){try{if(LF_pwm_time_0_init > parent.classFrame.innerWidth-45) document.LF_pwm_time_0.width=parent.classFrame.innerWidth-45;else{ document.LF_pwm_time_0.width=LF_pwm_time_0_init; document.getElementById("LF_pwm_time_0_p").style.left= ((parent.classFrame.innerWidth-document.LF_pwm_time_0.width-45) / 2) + "px"; document.getElementById("LF_pwm_time_0_p").style.width= document.LF_pwm_time_0.width + "px";}}catch(Exception){}}</SCRIPT><B> A coded '1':</B><p style="position:relative;" id="LF_pwm_time_1_p"><IMG SRC="LF_pwm_time_1.jpg" NAME="LF_pwm_time_1" BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("LF_pwm_time_1_res()",100);var LF_pwm_time_1_init = document.LF_pwm_time_1.width ;function LF_pwm_time_1_res(){try{if(LF_pwm_time_1_init > parent.classFrame.innerWidth-45) document.LF_pwm_time_1.width=parent.classFrame.innerWidth-45;else{ document.LF_pwm_time_1.width=LF_pwm_time_1_init; document.getElementById("LF_pwm_time_1_p").style.left= ((parent.classFrame.innerWidth-document.LF_pwm_time_1.width-45) / 2) + "px"; document.getElementById("LF_pwm_time_1_p").style.width= document.LF_pwm_time_1.width + "px";}}catch(Exception){}}</SCRIPT><HR>
<P>
<!-- =========== CONSTANT SUMMARY =========== -->
<A NAME="constant_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constant Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> PORTC</CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.PORT">LF.PORT</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> 3</CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.PIN">LF.PIN</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> .8000</CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.T_PERIOD_MAX">LF.T_PERIOD_MAX</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> .5</CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.T_INST">LF.T_INST</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> .200</CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.T_NOISE_MAX">LF.T_NOISE_MAX</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> .250</CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.T_STEP">LF.T_STEP</A></B></CODE>
<BR>
</TD>
</TR>
</TABLE>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Function Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.Send_Clamp_One">LF.Send_Clamp_One</A></B>()</CODE>
<BR>
This method sends a one over the LF antenna.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.Send_Clamp_Zero">LF.Send_Clamp_Zero</A></B>()</CODE>
<BR>
This method sends a zero over the LF antenna.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> w </CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.Receive8">LF.Receive8</A></B>()</CODE>
<BR>
This method receives one byte over the LF-AFE</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.ReadBuffer">LF.ReadBuffer</A></B>( w FSR )</CODE>
<BR>
This method reads an specified amount of bytes from the LF-Input to a buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.Send8">LF.Send8</A></B>()</CODE>
<BR>
This method transmits one byte over the LF-AFE</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.SendBuffer">LF.SendBuffer</A></B>( w FSR )</CODE>
<BR>
This function sends a complete data buffer to the air.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.DetectFalling">LF.DetectFalling</A></B>()</CODE>
<BR>
Internal use only.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="LF_pwm.html#LF.DetectRising">LF.DetectRising</A></B>()</CODE>
<BR>
Internal use only.</TD>
</TR>
</TABLE>
<P>
<!-- ============ CONSTANT DETAIL =========== -->
<A NAME="constant_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constant Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="LF.PORT"></A><H3>
LF.PORT</H3>
<DL>
<DD> The port, the LF data input is connected to. You may override the default value by either defining the same constant in your Project.inc file or by changing the default value in the module's source.<BR><BR>Default value = PORTC
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="LF.PIN"></A><H3>
LF.PIN</H3>
<DL>
<DD> The pin, the LF data input is connected to. You may override the default value by either defining the same constant in your Project.inc file or by changing the default value in the module's source.<BR><BR>Default value = 3
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="LF.T_PERIOD_MAX"></A><H3>
LF.T_PERIOD_MAX</H3>
<DL>
<DD> The maximum period of one bit - the period of a '0' - in multiples of 100 ns. You may override the default value by either defining the same constant in your Project.inc file or by changing the default value in the module's source.<BR><BR>Default value = .8000
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="LF.T_INST"></A><H3>
LF.T_INST</H3>
<DL>
<DD> The instruction time in multiples of 100 ns. You may override the default value by either defining the same constant in your Project.inc file or by changing the default value in the module's source.<BR><BR>Default value = .5
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="LF.T_NOISE_MAX"></A><H3>
LF.T_NOISE_MAX</H3>
<DL>
<DD> The maximum time of spikes, that should be surpressed, in multiples of 100 ns. You may override the default value by either defining the same constant in your Project.inc file or by changing the default value in the module's source.<BR><BR>Default value = .200
<P>
<DL>
</DL>
</DL>
<B> Example:</B><p style="position:relative;" id="LF_T_NOISE_MAX_time_0_p"><IMG SRC="LF.T_NOISE_MAX_time_0.jpg" NAME="LF_T_NOISE_MAX_time_0" BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("LF_T_NOISE_MAX_time_0_res()",100);var LF_T_NOISE_MAX_time_0_init = document.LF_T_NOISE_MAX_time_0.width ;function LF_T_NOISE_MAX_time_0_res(){try{if(LF_T_NOISE_MAX_time_0_init > parent.classFrame.innerWidth-45) document.LF_T_NOISE_MAX_time_0.width=parent.classFrame.innerWidth-45;else{ document.LF_T_NOISE_MAX_time_0.width=LF_T_NOISE_MAX_time_0_init; document.getElementById("LF_T_NOISE_MAX_time_0_p").style.left= ((parent.classFrame.innerWidth-document.LF_T_NOISE_MAX_time_0.width-45) / 2) + "px"; document.getElementById("LF_T_NOISE_MAX_time_0_p").style.width= document.LF_T_NOISE_MAX_time_0.width + "px";}}catch(Exception){}}</SCRIPT><HR>
<A NAME="LF.T_STEP"></A><H3>
LF.T_STEP</H3>
<DL>
<DD> This time adjusts the bitrate of transferred data. The value is in micro seconds and has to be a multiple of 50. You may override the default value by either defining the same constant in your Project.inc file or by changing the default value in the module's source.<BR><BR><BR>Default value = .250
<P>
<DL>
</DL>
</DL>
<B> A coded '0':</B><p style="position:relative;" id="LF_T_STEP_time_0_p"><IMG SRC="LF.T_STEP_time_0.jpg" NAME="LF_T_STEP_time_0" BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("LF_T_STEP_time_0_res()",100);var LF_T_STEP_time_0_init = document.LF_T_STEP_time_0.width ;function LF_T_STEP_time_0_res(){try{if(LF_T_STEP_time_0_init > parent.classFrame.innerWidth-45) document.LF_T_STEP_time_0.width=parent.classFrame.innerWidth-45;else{ document.LF_T_STEP_time_0.width=LF_T_STEP_time_0_init; document.getElementById("LF_T_STEP_time_0_p").style.left= ((parent.classFrame.innerWidth-document.LF_T_STEP_time_0.width-45) / 2) + "px"; document.getElementById("LF_T_STEP_time_0_p").style.width= document.LF_T_STEP_time_0.width + "px";}}catch(Exception){}}</SCRIPT><B> A coded '1':</B><p style="position:relative;" id="LF_T_STEP_time_1_p"><IMG SRC="LF.T_STEP_time_1.jpg" NAME="LF_T_STEP_time_1" BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("LF_T_STEP_time_1_res()",100);var LF_T_STEP_time_1_init = document.LF_T_STEP_time_1.width ;function LF_T_STEP_time_1_res(){try{if(LF_T_STEP_time_1_init > parent.classFrame.innerWidth-45) document.LF_T_STEP_time_1.width=parent.classFrame.innerWidth-45;else{ document.LF_T_STEP_time_1.width=LF_T_STEP_time_1_init; document.getElementById("LF_T_STEP_time_1_p").style.left= ((parent.classFrame.innerWidth-document.LF_T_STEP_time_1.width-45) / 2) + "px"; document.getElementById("LF_T_STEP_time_1_p").style.width= document.LF_T_STEP_time_1.width + "px";}}catch(Exception){}}</SCRIPT><HR>
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -