📄 transponder_afe.html
字号:
<TD><CODE><FONT COLOR="#22AAAA">;read register </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE> </CODE></TD> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;now the value of the register is in w </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> This example reads the Sensitivity control of Channel X and Y (Register 4) to w</DD></DL>
</DD>
</DL>
<HR>
<A NAME="AFE.WriteNVerifyRegister"></A><H3>
AFE.WriteNVerifyRegister</H3>
<PRE>
w <B>AFE.WriteNVerifyRegister</B>( w AFE.ConfMap[x] )</PRE>
<P>
<DL>
<DD> This function writes and verifies one register file in the AFE.
<P>
<DD><DL>
<DT><B>Parameters:</B>
<DD><CODE>w</CODE> - The AFE-Register to write </DD>
<DD><CODE>AFE.ConfMap[x]</CODE> - The value that should be written to the AFE-Register </DD>
</DL></DD>
<DD><DL>
<DT><B>Returns:</B>
<DD><CODE>w</CODE> - 0 if succesfull, 1 otherwise </DD>
</DL></DD>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD>FSR </DD></DL>
</DD>
<DD><DL>
<DT><B>Calls subroutines:</B><PRE> AFE.WriteRegister AFE.CalcParity SPI.Write AFE.ReadRegister SPI.Read
</PRE>
</DD></DL>
<DD><DL>
<DT><B>Stacklevel:</B><DD>3</DD></DL>
</DD>
<DD><DL>
<DT><B>Status:</B><DD> Tested</DD></DL>
</DD>
<P>
<DD><DL>
<DT><B>Example:</B><DD><CODE><TABLE BORDER="0"><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">0xff </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;move value to AFE.Buffer </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.Buffer </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movwf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.Buffer </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">0x04 </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;move register address to w </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.WriteNVerifyRegister </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;writes and verifies the register </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>andlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">0xff </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;update status register </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>btfss </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">STATUS,Z </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;was there an error </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>goto </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">errorOccured </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;yes, the goto error handler </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> This example sets the Sensitivity Conrol Bits of Channel X and Channel Y (Register 4)to the maximum.</DD></DL>
</DD>
</DL>
<HR>
<A NAME="AFE.WriteCfg"></A><H3>
AFE.WriteCfg</H3>
<PRE>
<B>AFE.WriteCfg</B>()</PRE>
<P>
<DL>
<DD> This function writes and verifies the whole register map in the RAM to the AFE.<BR>
<P>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD>FSR </DD></DL>
</DD>
<DD><DL>
<DT><B>Calls subroutines:</B><PRE> AFE.WriteNVerifyRegister AFE.WriteRegister AFE.CalcParity SPI.Write AFE.ReadRegister SPI.Read
</PRE>
</DD></DL>
<DD><DL>
<DT><B>Stacklevel:</B><DD>3</DD></DL>
</DD>
<DD><DL>
<DT><B>Status:</B><DD> Tested</DD></DL>
</DD>
<P>
<DD><DL>
<DT><B>Example:</B><DD><CODE><TABLE BORDER="0"><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.writeCfg </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> Now the configuration has been written from your RAM to the AFE</DD></DL>
</DD>
</DL>
<HR>
<A NAME="AFE.ReadCfg"></A><H3>
AFE.ReadCfg</H3>
<PRE>
<B>AFE.ReadCfg</B>()</PRE>
<P>
<DL>
<DD> This function reads the whole register map from the AFE to the RAM.
<P>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD> FSR </DD></DL>
</DD>
<DD><DL>
<DT><B>Calls subroutines:</B><PRE> AFE.ReadRegister SPI.Read
</PRE>
</DD></DL>
<DD><DL>
<DT><B>Stacklevel:</B><DD>3</DD></DL>
</DD>
<DD><DL>
<DT><B>Status:</B><DD> Written</DD></DL>
</DD>
<P>
<DD><DL>
<DT><B>Example:</B><DD><CODE><TABLE BORDER="0"><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.ReadConfig </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> That's it. The configuration is now in your RAM at the address AFE.ConfMap</DD></DL>
</DD>
</DL>
<HR>
<A NAME="AFE.CalcParity"></A><H3>
AFE.CalcParity</H3>
<PRE>
w <B>AFE.CalcParity</B>( w )</PRE>
<P>
<DL>
<DD> This calculates the odd parity of a Byte.<BR>
<P>
<DD><DL>
<DT><B>Parameters:</B>
<DD><CODE>w</CODE> - The byte to calculate odd parity from </DD>
</DL></DD>
<DD><DL>
<DT><B>Returns:</B>
<DD><CODE>w</CODE> - The parity bit </DD>
</DL></DD>
<P>
<DD><DL>
<DT><B>Stacklevel:</B><DD>1</DD></DL>
</DD>
<DD><DL>
<DT><B>Status:</B><DD> Tested</DD></DL>
</DD>
<P>
<DD><DL>
<DT><B>Example:</B><DD><CODE><TABLE BORDER="0"><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">0x02 </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;move the byte the parity should be calculated from in w </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.CalcParity </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;returns the paritybit in w </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>andlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">0xff </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;setting the STATUS register </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">TransmitBuffer </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>btfss </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">STATUS,Z </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;next if Parity is one </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bsf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">TransmitBuffer,0 </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;set Parity Bit(suggested it is Bit 0 in TransmitBuffer) </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>btfsc </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">STATUS,Z </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;next if Parity is zero </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bcf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">TransmitBuffer,0 </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;clear Parity Bit </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> Calculates the odd parity of 0x02 and sets the parity bit (TransmitBuffer,0) appropriate</DD></DL>
</DD>
</DL>
<HR>
<A NAME="AFE.CalcColumnParity"></A><H3>
AFE.CalcColumnParity</H3>
<PRE>
w <B>AFE.CalcColumnParity</B>()</PRE>
<P>
<DL>
<DD> This calculates the odd column parity of the configuration register.<BR>
<P>
<DD><DL>
<DT><B>Returns:</B>
<DD><CODE>w</CODE> - The parity byte </DD>
</DL></DD>
<P>
<DD><DL>
<DT><B>Stacklevel:</B><DD>1</DD></DL>
</DD>
<DD><DL>
<DT><B>Status:</B><DD> Tested</DD></DL>
</DD>
<P>
<DD><DL>
<DT><B>Example:</B><DD><CODE><TABLE BORDER="0"><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.CalcColumnParity </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;Calculate the column parity </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.Buffer </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movwf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.Buffer </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;move parity to transmitbuffer </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">0x6 </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;move address of column parity register to w </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">AFE.WriteRegister </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;write the column parity to the AFE </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> Calculates the odd parity of 0x02 and sets the parity bit (TransmitBuffer,0) appropriate</DD></DL>
</DD>
</DL>
<HR>
<!-- ========= END OF CLASS DATA ========= -->
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -