Rev. 1.50 164 August 28, 2017 Rev. 1.50 165 August 28, 2017
HT66F0175/HT66F0185
A/D Flash MCU with EEPROM
HT66F0175/HT66F0185
A/D Flash MCU with EEPROM
Thissequenceofeventscannowberepeatedtosendadditionaldata.Itshouldbenotedthatwhen
TXIF=0,datawillbeinhibitedfrombeingwrittentotheTXRregister.ClearingtheTXIFagis
alwaysachievedusingthefollowingsoftwaresequence:
1.AUSRregisteraccess
2.ATXRregisterwriteexecution
Theread-onlyTXIFagissetbytheUARThardwareandifsetindicatesthattheTXRregisteris
emptyandthatotherdatacannowbewrittenintotheTXRregisterwithoutoverwritingtheprevious
data.IftheTEIEbitisset,thentheTXIFagwillgenerateaninterrupt.Duringadatatransmission,
awriteinstructiontotheTXRregisterwillplacethedataintotheTXRregister,whichwillbe
copiedtotheshiftregisterattheendofthepresenttransmission.Whenthereisnodatatransmission
inprogress,awriteinstructiontotheTXRregisterwillplacethedatadirectlyintotheshiftregister,
resultinginthecommencementofdatatransmission,andtheTXIFbitbeingimmediatelyset.When
aframetransmissioniscomplete,whichhappensafterstopbitsaresentorafterthebreakframe,the
TIDLEbitwillbeset.TocleartheTIDLEbitthefollowingsoftwaresequenceisused:
1.AUSRregisteraccess
2.ATXRregisterwriteexecution
NotethatboththeTXIFandTIDLEbitsareclearedbythesamesoftwaresequence.
Transmitting Break
IftheTXBRKbitisset,thenthebreakcharacterswillbesentonthenexttransmission.Break
charactertransmissionconsistsofastartbit,followedby13xN“0”bits,whereN=1,2,etc.Ifa
breakcharacteristobetransmitted,thentheTXBRKbitmustberstsetbytheapplicationprogram
andthenclearedtogeneratethestopbits.Transmittingabreakcharacterwillnotgenerateatransmit
interrupt.Notethatabreakconditionlengthisatleast13bitslong.IftheTXBRKbitiscontinually
keptatalogichighlevel,thenthetransmittercircuitrywilltransmitcontinuousbreakcharacters.
AftertheapplicationprogramhasclearedtheTXBRKbit,thetransmitterwillnishtransmittingthe
lastbreakcharacterandsubsequentlysendoutoneortwostopbits.Theautomaticlogichighatthe
endofthelastbreakcharacterwillensurethatthestartbitofthenextframeisrecognized.
UART Receiver
TheUARTiscapableofreceivingwordlengthsofeither8or9bitscanbeselectedbyprogramming
theBNObitintheUCR1register.WhenBNObitisset,thewordlengthwillbesetto9bits.In
thiscasethe9
th
bit,whichistheMSB,willbestoredintheRX8bitintheUCR1register.Atthe
receivercoreliestheReceiverShiftRegistermorecommonlyknownastheRSR.Thedatawhich
isreceivedontheRXexternalinputpinissenttothedatarecoveryblock.Thedatarecoveryblock
operatingspeedis16timesthatofthebaudrate,whilethemainreceiveserialshifteroperatesatthe
baudrate.AftertheRXpinissampledforthestopbit,thereceiveddatainRSRistransferredtothe
receivedataregister,iftheregisterisempty.ThedatawhichisreceivedontheexternalRXinputpin
issampledthreetimesbyamajoritydetectcircuittodeterminethelogiclevelthathasbeenplaced
ontotheRXpin.ItshouldbenotedthattheRSRregister,unlikemanyotherregisters,isnotdirectly
mappedintotheDataMemoryareaandassuchisnotavailabletotheapplicationprogramfordirect
read/writeoperations.
Receiving Data
WhentheUARTreceiverisreceivingdata,thedataisseriallyshiftedinontheexternalRXinput
pintotheshiftregister,withtheleastsignicantbitLSBrst.TheRXRregisterisatwobytedeep
FIFOdatabuffer,wheretwobytescanbeheldintheFIFOwhilethe3
rd
bytecancontinuetobe
received.NotethattheapplicationprogrammustensurethatthedataisreadfromRXRbeforethe