uTasker_SLCD.doc/1.0

youtubemp3mp4  时间:2021-02-21  阅读:()
Copyright2014M.
J.
ButcherConsultingEmbeddingitbetter.
.
.
TaskerDocumentSegmentLCDuser'sguidewww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
02/1627.
01.
2014TableofContents1.
Introduction.
32.
SLCDModulesandSLCDControllers33.
GLCDProgrammer'sModel.
73.
1.
KinetisFRDM-KL46ZSLCDConfigurationExample.
73.
2.
KinetisK40GLCDConfigurationExample.
93.
3.
KinetisK40GLCDControlExample.
104.
SLCDSimulator115.
PracticalExamples.
146.
Conclusion.
16www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
03/1627.
01.
20141.
IntroductionSomeprocessorsincludeanSLCD(SegmentLCD)controller.
ThisdocumentdiscussesthebasicoperationofthesecontrollersandhowtheTaskerprojectsupportstheiruseandsimulation.
2.
SLCDModulesandSLCDControllersSLCDmodulesaresimpleandverylowpowerLCDdisplays.
Theycanhavealargenumberofsegmentsintheformofdots(pixels)orsymbols(partsof7segmentcharactersorspecialimages)andalargenumberofpinstoenablethesesegmentstobecontrolled.
SLCDcontrollerstendtohaveahighnumberofpinstohandlelargeGLCDmodules.
Thesepinscanbeconfiguredasback-planeorfront-planepinsandgeneratetherequiredmultiplexingandwaveformsneededtocontinuouslyrefreshtheSLCD.
SinceSLCDSareoftenusedinverylowpowerapplicationstheSLCDcontrollerstendtobeabletooperateautonomouslywhentheprocessorisinlowpowermodes(eg.
WAIT,SLEEPorSTOPmodes).
Specialfeaturessuchasautomaticblinkfieldsmaybesupportedwhichmayalsobeabletooperateautonomouslywhentheprocessorisnotrunning.
Ratherthanhaveoneconnectionforeachsegment,thesegmentsaretypicallymultiplexedsothatlesscontrollinesareneededtocontrolthesamenumberofindividualsegments.
Toillustratethis,theLuminexLCD-S401M16KR,asusedontheFreescaleFRDM-KL46Zisusedasreference.
Thefollowingisanexcerptfromitsdatasheetshowingitscharacteristicsandhowits12pinsareconnectedtoitselements:CharacteristicsandconnectiondetailsofLuminexLCD-S401M16KRAndthedisplay'selementsareillustratedbelowaccordingtotheirreferencesintheconnectiontableintheoriginaldatasheet:www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
04/1627.
01.
2014123456789101112Dig.
1Dig.
2Dig.
3Dig.
4DP1DP2DP3COLABCDEFGThisdisplayhas12pins,whichareallconnectedtoadrivingpinontheSLCDcontroller.
Thereare4commonpinsandsothedrivingmodeisduty,sinceeachofthecommonpinsaredrivenforofthecycleperiod.
Eachofthecommonlinesisconnectedto8LCDsegments.
TakingCOM0asanexamplethe8segmentsthatarecontrolledbyitareshowinthefollowingdiagram.
123456789101112Dig.
1Dig.
2Dig.
3Dig.
4DP1DP2DP3COLThismeansthatwhentheCOM0lineisbeingdrivenupto8segmentscanbeturnedon,dependingonthestateofthe8segmentpins.
The8segmentpins(5.
.
12)thuscontrolthese8segmentsduringthisdrivingphaseandcanturnallon,alloff,orancombinationinbetween.
Sincethereare4phases(4COMpins),eachcontrolling8segmentsduringthatphase,atotalof32segmentscanbecontrolled–thiscorrespondstothenumberofsegmentsthattheSLCDphysicallyhas(notthattheCOLsegmentismadeupoftwopointswhichcannotbecontrolledindividually).
Theother3COMdrivecombinationsarenotshowninadiagramherebutcanbeeasilyreadfromtheoriginaldatasheettable.
InordertoconfiguretheSLCDdrivertomatchthisdisplay4ofitsLCDpinsareconfiguredasCOMdrivepinsand8assegmentdrivepins.
TheCOMdrivepinsareconfiguredtodriveindifferentphases(eg.
COM0inphase1,COM1inphase2,COM2inphase3andCOM3inphase4,whereeachofthephasesarerepeatedaccordingtodutydrivingmode).
ThedutymodeandanyotherspecificconfigurationarealsosetintheSLCDcontroller.
Eachsegmentdrivelineeachcancontrolanindividualsegmentineachofthe4phasesoftheoperation.
WhichsegmentthatisdependsontheconnectionintheSLCDitself(seeconnectiontableinthisexample)andhowtheSLCDpinsarephysicallyconnectedtotheSLCDmodule.
ThedesignedcanhoweverquiteeasilymakealistofwhichcontrolbitsinthesegmentdriveregisterscorrespondtowhichsegmentintheSLCDandthenusethisinformationtosettext,numbersorpatternsrequiredbytheapplicationsoftware.
TheSLCDwww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
05/1627.
01.
2014controllerperformsthemultiplexingdisplaydrivingautonomouslybasedontheregisterstates.
InthecaseoftheFreescaleFRDM-KL46ZtheSLCDpinconnectionsareasfollows:Pin1(COM0)=LCD40Pin2(COM1)=LCD52Pin3(COM2)=LCD19Pin4(COM3)=LCD18Pin5(1D/1E/1G/1F)=LCD37Pin6(DP1/1C/1B/1A)=LCD17Pin7(2D/2E/2G/2F)=LCD7Pin8(DP2/2C/2B/2A)=LCD8Pin9(3D/3E/3G/3F)=LCD53Pin10(DP3/3C/3B/3A)=LCD38Pin11(4D/4E/4G/4F)=LCD10Pin12(COL/4C/4B/4A)=LCD11ThefollowingchaptershowshowanSLCDcontrollerisconfiguredtomatchthisSLCD.
TheKinetisSLCDdriverisusedasexamplebuttheprincipleoftheoperationshouldbeessentiallyvalidforalltypes.
ForcompletenessthecompletelistofsegmentcontrolbitsforthereferenceLCDusedontheFRDM-KL46Zisgivenbelow.
17-837-237-117-137-437-87-18-18-838-853-138-110-111-811-410-411-217-417-27-87-27-48-28-411-153-838-453-253-438-210-210-8Example:Segmentcontrol8-8isthebit0x08(phasecontrolledbyCOM3)intheregisterLCD_WF8,whichcorrespondstothe67thcontrolbitinthecontrolblock.
Toenableitthefollowingcanbeused:SET_SLCD(8,0x08),toclearitCLEAR_SLCD(8,0x08)andtotoggleitTOGGLE_SLCD(8,0x08).
www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
06/1627.
01.
2014Thefollowingillustrationsshowtypicaldrivesignals.
TheSLCDmodulehasnopowersupplyanditisseenthatthedrivesignalshaveanACnature.
TheCOMlinesdriveinonephaseofthecyclebutphaseinvertedineachperiod.
Thesegmentdrivelineseitherdriveanmid-levelsignalwhennosegmentistobeenabledorelseanout-of-phasesignalintherespectiveCOMphasewhenitscorrespondingsegmentistobeon.
Thedutycycleperiodisconfigurableandtypicallyinthe100Hzregion.
COM0COM1COM2COM4IdleSegmentSegmentonCOM0SegmentonCOM1SegmentonCOM0+1www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
07/1627.
01.
20143.
GLCDProgrammer'sModelDuetothefactthatSLCDcontrollerstakeoveralloftheactivecontrolofSLCDmodulestheSLCDinterfacetendstobeverysimplefromaprogrammer'sperspective.
ThecontrollerwilltendtobedisabledatresetandsotheprogrammerneedstoconfigureittosuittheSLCDinuse:-Controllerconfigurationtooperatefromthecorrectclockandinthecorrectmode-Front-planeandBack-planesignaldefaultconfigurationTypicallyallsegmentswillinitiallybeoffandtheSLCDwilldisplaynosegmentsoncetheinitialisationiscompleteandthentheprogrammercanindividuallycontrolsegmentstoindicatestates(eg.
Segmentimagesortext),ortogrouptogethertoformnumbers(eg.
sevensegmentnumbers)orcharacters(eg.
dotmatixsegments).
3.
1.
KinetisFRDM-KL46ZSLCDConfigurationExampleThefollowingcodeconfigurestheSLCDanditspins,aswellassettingthedrivingphaseofeachCOMline.
ThisconfigurationfollowsonfromtheintroductiontothespecificSLCDmoduleusedonthisboard://ConfiguretheSLCDmodebutdon'tenableityet//LCD_GCR=(LCD_GCR_RVEN|(0x08000000&LCD_GCR_RVTRIM_MASK)|LCD_GCR_CPSEL|LCD_GCR_LADJ_MASK|LCD_GCR_VSUPPLY|LCD_GCR_SOURCE|LCD_GCR_LCLK_1|LCD_GCR_DUTY_4BP);//ConfigurethepinstobeusedasCOMlines//LCD_BPENL=(SLCD_PIN_19|SLCD_PIN_18);LCD_BPENH=(SLCD_PIN_H_52|SLCD_PIN_H_40);//Configurethepinstobeusedassegmentdrivelines(plustheCOMlines)//LCD_PENL=((SLCD_PIN_17|SLCD_PIN_11|SLCD_PIN_10|SLCD_PIN_8|SLCD_PIN_7)|(SLCD_PIN_19|SLCD_PIN_18));LCD_PENH=((SLCD_PIN_H_53|SLCD_PIN_H_38|SLCD_PIN_H_37)|(SLCD_PIN_H_52|SLCD_PIN_H_40));//Setthe4COMlinephases//WRITE_SLCD(43TO40,0x00000001);//40tophase1(COM0)WRITE_SLCD(55TO52,0x00000002);//52tophase2(COM1)WRITE_SLCD(19TO16,0x04080000);//19tophase3(COM2)and18tophase3(COM3)//EnabletheSLCDoperation//LCD_GCR=(LCD_GCR_LCDEN|LCD_GCR_RVEN|(0x08000000&LCD_GCR_RVTRIM_MASK)|LCD_GCR_CPSEL|LCD_GCR_LADJ_MASK|LCD_GCR_VSUPPLY|LCD_GCR_SOURCE|LCD_GCR_LCLK_1|LCD_GCR_DUTY_4BP)www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
08/1627.
01.
2014ToturnonandoffthesegmentCOLthefollowingtwocommandenableanddisablethecontrolontheSLCDmodule'spin12(LCD11)SET_SLCD(11TO8,0x01000000);CLEAR_SLCD(11TO8,0x01000000);Theequivalentcontrolofthesegment4C(alsocontrolledbythesamepin)showsthatthephasethattheoutputisenableinmakesthedifference.
SET_SLCD(11TO8,0x02000000);CLEAR_SLCD(11TO8,0x02000000);IfbothofthesesegmentsaretobeenabledtheoutputissimplydriveinmorethanoneofthephasesSET_SLCD(11TO8,0x03000000);Obviouslythemaximumnumberofsegmentsthatcanbecontrolledbythispinis4,wherethefollowingwouldenableCOL,4C,4Band4A–eachintheircorrespondingdrivephase[0x1isphase1,0x02isphase2,0x04isphase3and0x08isphase4].
SET_SLCD(11TO8,0x03000000);www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
09/1627.
01.
20143.
2.
KinetisK40GLCDConfigurationExampleTheKinetisK40containsanSLCDcontrollerandisusedasillustrationoftheinitializationandcontrolintheTaskerproject.
TwoSLCDtypesarediscussed:-28segmentSLCDontheTWRPI-SLCDmodulewhichcanbeusedtogetherwiththeTWR-K40X256towerprocessorboard-306segmentSLCDontheK40KWIKSTIKDuringinitialisation,themacroCONFIGURE_SLCD()iscalled.
Thismacroisconfiguredinapp_hw_kinetis.
htosuitthedisplaytypes.
ThedefinesforthetwoSLCDtypesareshownbelow:TWRPI-SLCD#defineCONFIGURE_SLCD()MCG_C1|=MCG_C1_IRCLKEN;\POWER_UP(3,SIM_SCGC3_SLCD);\LCD_GCR=(LCD_GCR_VSUPPLY_VLL3|LCD_GCR_SOURCE|LCD_GCR_LCLK_4|LCD_GCR_DUTY_4BP|LCD_GCR_ALTDIV_NONE);\LCD_PENL=0x0070f00f;\LCD_PENH=0x00000000;\LCD_BPENL=0x0000000f;\LCD_BPENH=0x00000000;\fnClearSLCD();\WRITE_SLCD(3TO0,0x08040201);\LCD_GCR=(LCD_GCR_LCDEN|LCD_GCR_VSUPPLY_VLL3|LCD_GCR_SOURCE|LCD_GCR_LCLK_4|LCD_GCR_DUTY_4BP|LCD_GCR_ALTDIV_NONE);KWIKSTIK#defineCONFIGURE_SLCD()MCG_C1|=MCG_C1_IRCLKEN;\POWER_UP(3,SIM_SCGC3_SLCD);\LCD_GCR=(LCD_GCR_CPSEL|LCD_GCR_RVEN|LCD_GCR_RVTRIM_MASK|LCD_GCR_LADJ_MASK|LCD_GCR_LCLK_0|LCD_GCR_VSUPPLY_VLL3_EXT|LCD_GCR_SOURCE|LCD_GCR_DUTY_8BP|LCD_GCR_ALTDIV_NONE);\LCD_PENL=0xfffffffe;\LCD_PENH=0x0000ffff;\LCD_BPENL=0x00000000;\LCD_BPENH=0x0000ff00;\fnClearSLCD();\WRITE_SLCD(43TO40,0x08040201);\WRITE_SLCD(47TO44,0x80402010);\LCD_GCR=(LCD_GCR_LCDEN|LCD_GCR_CPSEL|LCD_GCR_RVEN|LCD_GCR_RVTRIM_MASK|LCD_GCR_LADJ_MASK|LCD_GCR_LCLK_0|LCD_GCR_VSUPPLY_VLL3_EXT|LCD_GCR_SOURCE|LCD_GCR_DUTY_8BP|LCD_GCR_ALTDIV_NONE);Theconfigurationsequenceinvolvesthefollowingsteps:-The32kHzinternalRCoscillatorisenabledsinceitcanbeusedasaclocksourcetothecontroller,whichrequiresaclockinthe30.
0kHzto39.
063kHzrange.
-TheSLCDmoduleispoweredup.
www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
010/1627.
01.
2014-Thebasicconfigurationisset(thisdependsontherequirementsoftheSLCDmoduleinrespecttovoltages,etc.
)buttheoperationisnotyetenabled.
Notethattheclocksourcematchestherequiredclockspeedandsonoclockdividersareconfigured.
-Therequiredfrontplaneandbackplanesignalsareenabled(LCD_PENxandLCD_BPENx)whichdependsontheSLCDtype,sizeandconnection.
TheK40'sGPIOpinsassociatedwiththeSLCDalldefaulttoSLCDuseandnospecificGPIOconfigurationisnecessarytousethem.
-TheroutinefnClearSLCD()iscalledtoensurethatallsegmentsdefaulttotheoffstate.
IfthisisnotperformedsegmentsinitialstatescouldberandomontheK40.
Theroutineclearsallsegmentregistercontents.
-Thebackplanesignalsaresetactive.
-Finallytheoperationisenabled.
Whenusingdifferentmoduletypestheinitialisationmayneedtobemodifiedtosuititscharacteristics,sizeandconnection.
3.
3.
KinetisK40GLCDControlExampleTheK40SLCDcontrollercontainsanumberofregisterswhichmapeachindividualsegmentontheSLCDtoabit.
DependingontheconnectionandconfigurationthebitscontrollingeachsegmentwillbespecifictotheSLCDtype.
Theprogrammersimplyneedstosetabitwhenthecorrespondingsegmentshouldbeonandclearthebitwhenthesegmentistobeoff.
ThefactthatthereisnostandardcoordinationbetweenthebitsusedandalsowhatthesymbolsactuallyarethereisnoSLCDapplicationinterfacedefined.
Actualcontrolofthedisplaytendstoberelativelysimpleduetothefactthatthesegmentsseemtobecontrolledasindividualportbits.
ThefollowingsectionintroducestheTaskerSLCDsimulator,wheretheK40segmentregisterswillbeseeninmoredetail.
InordertoautomaticallyinterfacewiththesimulatorthefollowingmacrosareusedintheK40projecttomodifysegments:#defineWRITE_SLCD(reg,val);//writesegmentvalues#defineSET_SLCD(reg,val);//setspecifiedbits#defineCLEAR_SLCD(reg,val);//clearspecifiedbits#defineTOGGLE_SLCD(reg,val);//togglespecifiedbitsThereareanumberofregisters,eachcontrollingupto32individualsegments('1'isonand'0'isoff).
TheK40has16suchsegmentregistersnamedLCD_WF3TO0toLCD_WF63TO60.
Theprogrammermustknowwhichsegmentismappedtowhichbitinwhichregistertobeabletocontrolthedisplaystate.
Whenthemacrosareusedthesimulatoralsoautomaticallyupdatestheresultingimageaccordingly.
Ifregisterchangesbasedontechniquenotusingthemacros(eg.
directpointeraccess,whichmaybemorepracticalinsomecases)isused,afinalcalltooneofthemacroswillalsosynchronisethestateofthesimulatedimagetotheregistercontent.
Anexampleoftogglingthestateofaparticularsegmentwouldbe:TOGGLE_SLCD(3TO0,0x1000);www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
011/1627.
01.
2014Inthiscasethe12thbitintheregisterLCD_WF3TO0willbetoggledandtheSLCDdisplaycorrespondinglyupdatedinthesimulator.
OntherealhardwaretheSLCDcontrollerwillofcoursealsomodifythecontroloftheinfluencedsegmentaccordingly.
4.
SLCDSimulatorTheTaskersimulatorincludesanSLCDsimulationmodulewhichautomaticallydisplaythecontentoftheSLCDbasedonthesettingofthesegmentregisters.
Asdetailedintheprevioussection,theuseofthesegmentcontrolmacrosensuresthattheseremainsynchronised,wherebythechangedsegmentsaremodifiedeachtimesuchamacrohasbeenexecuted.
ThesimulatorallowscompleteprojectcodetobeaccuratelytestedwithinthesimulationenvironmentwithouttheneedtoworkonHW.
Itcanalsobeusedforsimulatinguser-definedSLCDmoduleswhicharenotyetavailableashardwareinordertoaccelerateprojectdevelopments.
DuetothefactthatthereisnostandardSLCDthesimulatormakesuseofSLCDscriptfileswhichareuserdefinable.
ThesescriptfilesareusuallymaintainedinadirectorycalledSLCDintheprojectsimulationdirectory(eg.
\Applications\uTaskerV1.
4\Simulator\SLCD).
Iftheprojectisconfiguredwithasimulatorfilethesimulationwillbeincluded.
InadditionsomedetailsaboutthesizeandcolouroftheSLCDissupplied.
ThefollowingshowstheconfigurationoftheTWRPI-SLCDmodule:#defineSLCD_FILE"SLCD\\TWR_K40.
lcd"//SLCDsimulationfileinthesimulatordirectorySLCD//#defineBIG_PIXEL//showSLCDdoublesize#defineLCD_ON_COLOUR(COLORREF)RGB(210,220,210)//RGBcolourofLCDwhenbacklightison#defineLCD_OFF_COLOUR(COLORREF)RGB(10,10,10)//RGBcolourofLCDwhenbacklightisoff#defineLCD_PIXEL_COLOUR(COLORREF)RGB(0,0,0)//RGBcolourofLCDpixels#defineGLCD_X380#defineGLCD_Y90TheSLCDscriptfileisTWR_K40.
lcd.
TheLCDsizeisdefinedasbeing380pixelswideand90pixelshigh,wherebythisreferstothesimulatedimageandnotdirectlytothedisplaytypebeingusedsincetheyaregenerallynotpixeloriented.
IfBIG_PIXELisactivated,thedisplaysizeisdoubledinthesimulator.
InordertounderstandthescriptfilecontentthesimpleSLCDwillfirstbedisplayed:Thisexampleshows3x7-segmentdigits.
Thefirst'1'isasinglesegment,asarethe':','°','%',"AM","PM"andfreescalelogo.
Thismeansthatthereare28individualsegments,whicharecontrolledbyparticularbitsintheSLCDcontroller'sregistersLCD_WF15TO12andLCD_WF23TO20.
www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
012/1627.
01.
2014Thescriptfilerequiresamonochromebitmapofeachofthesegmenttypes;theFreescalelogoisasinglebitmap,asarethe'°AM",etc.
;the7-segmentdigitsareacollectionof7differentbitmaps;thethree7-segmentdigitscansharethesamesegmentbitmapssincetheyareessentiallybuiltupofthesameshapes.
Thecompletescriptfileisshownbelow://SLCDdefinitionfortheTWRPI-SLCDontheTWR-K40x256board(350x90pixelsusedasbase)////bitmapdefines(theseshouldbemonochromebitmaps)-BMP0toBMP99possible//BMP0"freescale1.
bmp"BMP1"digit1.
bmp"BMP2"seven_seg_b_l.
bmp"BMP3"seven_seg_t_l.
bmp"BMP4"seven_seg_top.
bmp"BMP5"seven_seg_b_r.
bmp"BMP6"seven_seg_t_r.
bmp"BMP7"seven_seg_mid.
bmp"BMP8"seven_seg_bot.
bmp"BMP9"degree.
bmp"BMP10"percent.
bmp"BMP11"am.
bmp"BMP12"pm.
bmp"BMP13"dp.
bmp"//backplanebits//bx//notused//frontplanebits//segmentnumber,BMPnumber,x-coordinate,y-coordinate//f12302015//freescalelogof17911055//'1'f12031255//first7-segment-topleftf12221255//bottomleftf11361535//toprightf11451535//bottomrightf11241254//topf121712541//middlef115812578//bottomf1071318026//':'f10432055//second7-segment-topleftf10622055//bottomleftf9762335//toprightf9852335//bottomrightf9642054//topf105720541//middlef99820578//bottomf17632555//second7-segment-topleftf17822555//bottomleftf16162835//toprightf16252835//bottomrightf16042554//topf177725541//middlef163825578//bottomf16893107//°f1691033535//%f1701133053//AMf1711233069//PMwww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
013/1627.
01.
2014//endoffileScriptfiledevelopmentisverysimpleandinvolvesthefollowingsteps:1.
Eachsegmenttypeisassignedamonochromebitmap,whichshouldbeinthesamedirectoryasthescriptfileitself.
EachisgivenauniquereferenceBMPx.
2.
Inthisversionthebackplanesignalsarenotdefined.
3.
Thesegmentsaredefinedinthefrontplanesectionbyreferencingeachpossiblesegmenttoitsbitmapanditsx,ycoordinates.
Eg.
f12302015meansthatthesegmentnumber123(countingfrom0.
.
123)ismappedtothebitmapnumber0(referenceBMP0).
ItisdrawnatSLCDlocation20,15.
NotethatthesegmentnumberitselfisSLCDspecificandsothisusermustknowwhichregisterbitactuallycontrolseachsegment.
Thesegmentnumber123isinfactthe124thbitintheK40segmentcontrolregisterset,whichcorrespondstoLCD_WF15TO12,bit27,controlledbyTOGGLE_SLCD(15TO12,0x08000000);Notethatsegmentscansharebitmapreferencespositionedatdifferentlocations.
Thisisillustratedwellbythe7-segmentdefinition,wherethethree7-segmentgroupsareconstrictedbysharingthesamebitmapspositionedatlocationsoffsetinthex-directiononly.
TheTaskerprojectfortheKinetisincludesscriptfilesandbitmapsetsforthetwodisplaymentionedearlier,wherebytheKWIKSTIKdisplayisrathermorecomplicatedthanthissimplerexample.
Userscandefinetheirwonscriptfilesbasedontheexampleabovetosupportdifferenttypesoruser-specificones.
Thefollowingpracticaltipssimplifytheprocess:-Itisrecommendedfirsttomeasurethephysicaldisplaysizetogetanideaofdimensions.
Forexample,adisplayof3cmx1cmcouldberepresentedbyasimulatedimagesizeof300x100pixels,allowingpixellocationstocalculatedeasily.
-Beforeallbitmapsareavailableitisadvisabletousedummybitmapsofapproximatesizeoftheonesfinallytobeused.
ThesecansimplybeblackimagessothattheycanbeviewedandthenadjustedtotheirexactlocationsbytuningtheBMPsizeitselfandadjustingthex,ycoordinatesinthescriptfile.
Oncetheimagesizesandlocationsareaccuratetheircontentcanbeoptimised.
-Thesimulatorincludesamenuitem"SLCD|Showallsegments"whichallowsallexistingsegmentstobedisplayedatthesametimewithouttheneedtowriteanyspecialapplicationcodetoaidthescriptfiledevelopment.
Torevertbacktonormaldisplaythecommand"SLCD|Releasesegments"canbeused.
Resultsofsimulationsareshowninthenextchapterwhereworkingdemonstrationsareshown.
NotethatthebehaviourinthesimulatoristhesameasthebehaviourontheHWtarget,whichisthegoalofthesimulator,thusremovingthenecessitytodevelopprojectsonthehardwareitselfandcorrespondinglyimproveprojectdevelopmentefficiency.
www.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
014/1627.
01.
20145.
PracticalExamplesSincetheSLCDoperationrequiresverylittleprojectcode,controloftheSLCDwasaddedtotheK40USBbootloadertoillustrateitsoperationonthehardwareandinthesimulator.
WhenthebootloaderisrunningtheFreescalelogosareflashedonthedisplay.
WhentheUSBconnectionisestablishedtheUSBsymbolisdisplayedontheKWIKSTIKSLCDandthelettersUSBaredisplayedonthetowerboardSLCD.
Whensimulating,thecompleteSLCDdisplaycanbeshownbyexecutingthemenucommand"SLCD|Showallsegments".
Toreturntonormalviewthecommand"SLCD|Releasesegments"canbeexecuted.
ThefollowingimagesshowthesimulateddisplaysshowingallSLCDsymbolsaswellastheenumeratedUSBimagestate(thisisthecasewheneithertheUSBcableisconnectedtothecorrespondingprocessormoduleorelsetheenumerationsequenceissuccessfullysimulatedintheTaskersimulator(byexecutingthemenu"USB|Enumeration").
TWR-K40X256simulationshowingallSLCDsegmentsonwww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
015/1627.
01.
2014TWR-K40X256simulationshowingenumeratedUSBKWIKSTIKsimulationshowingallSLCDsegmentsonwww.
uTasker.
comTasker–SegmentLCDuTasker_SLCD.
doc/1.
016/1627.
01.
2014KWIKSTIKsimulationshowingenumeratedUSBTheoperationoftherealmodulesareshowinthefollowingshortvideo:http://www.
youtube.
com/watchv=nm2DmZv1rj86.
ConclusionThisdocumenthasgivenabriefintroductiontotheoperationofSLCDmodulesandSLCDcontrollers.
TheSLCDsupportintheTaskerprojecthasbeendiscussedbasedonsimulationandpracticalexamplesoftheSLCDoperationonKinetisKL46andK40modules.
Modifications:-V0.
022.
07.
2011Firstdraft–inprogress-V1.
027.
01.
2014FRDM-KL46Zaddedplusadditionalgenericoperationdetails-released

CloudCone闪购优惠洛杉矶MC机房VPS月$1.99 便宜可随意删除重开

CloudCone商家我们很多喜欢低价便宜VPS主机的肯定是熟悉的,个人不是特别喜欢他。因为我之前测试过几次,开通的机器IP都是不通的,需要删除且开通好几次才能得到一个可用的IP地址。当然他们家的优势也是有的,就是价格确实便宜,而且还支持删除重新开通,而且机房只有一个洛杉矶MC。实话,如果他们家能多几个机房,保持现在的特点,还是有很多市场的。CloudCone是来自美国的主机销售商,成立于2017...

Boomer.host:$4.95/年-512MB/5GB/500GB/德克萨斯州(休斯顿)

部落曾经在去年分享过一次Boomer.host的信息,商家自述始于2018年,提供基于OpenVZ架构的VPS主机,配置不高价格较低。最近,主机商又在LET发了几款特价年付主机促销,最低每年仅4.95美元起,有独立IPv4+IPv6,开设在德克萨斯州休斯顿机房。下面列出几款VPS主机配置信息。CPU:1core内存:512MB硬盘:5G SSD流量:500GB/500Mbps架构:KVMIP/面板...

DogYun(300元/月),韩国独立服务器,E5/SSD+NVMe

DogYun(中文名称狗云)新上了一批韩国自动化上架独立服务器,使用月减200元优惠码后仅需每月300元,双E5 CPU,SSD+NVMe高性能硬盘,支持安装Linux或者Windows操作系统,下单自动化上架。这是一家成立于2019年的国人主机商,提供VPS和独立服务器租用等产品,数据中心包括中国香港、美国洛杉矶、日本、韩国、德国、荷兰等。下面分享这款自动化上架韩国独立服务器的配置和优惠码信息。...

youtubemp3mp4为你推荐
金山杀毒怎么样金山杀毒软件咋样?百度抢票浏览器手机百度浏览器抢票版根本就没预约抢票。噱头而已!伪静态静态与伪静态的区别?网站联盟百度网盟是什么,怎么加入godaddyGO DADDY服务器空间域名怎么样xp系统停止服务XP系统停止服务后怎么办?免费免费建站最好的免费建站idc前线永恒之塔内侧 删档吗 ?ios系统ios系统有哪些版本?怎么上传音乐怎么上传音乐
中国万网虚拟主机 阿里云os arvixe edis 紫田 info域名 搜狗抢票助手 个人空间申请 小米数据库 空间论坛 秒杀预告 柚子舍官网 183是联通还是移动 新家坡 共享主机 免费吧 如何用qq邮箱发邮件 国外免费asp空间 www789 徐州电信 更多