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

RAKsmart 黑色星期五云服务器七折优惠 站群服务器首月半价

一年一度的黑色星期五和网络星期一活动陆续到来,看到各大服务商都有发布促销活动。同时RAKsmart商家我们也是比较熟悉的,这次是继双十一活动之后的促销活动。在活动产品中基本上沿袭双11的活动策略,比如有提供云服务器七折优惠,站群服务器首月半价、还有新人赠送红包等活动。如果我们有需要RAKsmart商家VPS、云服务器、独立服务器等产品的可以看看他们家的活动。这次活动截止到11月30日。第一、限时限...

Hosteons:新上1Gbps带宽KVM主机$21/年起,AMD Ryzen CPU+NVMe高性能主机$24/年起_韩国便宜服务器

我们在去年12月分享过Hosteons新上AMD Ryzen9 3900X CPU及DDR4内存、NVMe硬盘的高性能VPS产品的消息,目前商家再次发布了产品更新信息,暂停新开100M带宽KVM套餐,新订单转而升级为新的Budget KVM VPS(SSD)系列,带宽为1Gbps端口,且配置大幅升级,目前100M带宽仅保留OpenVZ架构产品可新订购,所有原有主机不变,用户一直续费一直可用。Bud...

wordpress专业外贸建站主题 WordPress专业外贸企业网站搭建模版

WordPress专业外贸企业网站搭建模版,特色专业外贸企业风格 + 自适应网站开发设计 通用流行的外贸企业网站模块 + 更好的SEO搜索优化和收录 自定义多模块的产品展示功能 + 高效实用的后台自定义模块设置!采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera...

youtubemp3mp4为你推荐
微信如何建群微信可以建立两个人的群吗?有一个是自己伪静态什么是伪静态网站?伪静态网站有什么优势ps抠图技巧如何使用PS抠图直播加速怎么让已拍摄好的视频加速godaddyGO DADDY服务器空间域名怎么样xv播放器下载迅雷看看下载的XV格式的电影用什么播放器可以播放?(没有互联网的情况下)qq空间打扮QQ空间打扮免费qq空间装扮有办法免费装扮QQ空间吗??lockdowndiphone4s 完美越狱5.1.1时出现Could not connect to lockdownd。求救啊!!商标注册查询官网如何在网上查询商标是否注册?
directspace locvps bgp双线 柚子舍官网 me空间社区 免费申请个人网站 重庆双线服务器托管 免费网页空间 独享主机 海外空间 iki 中国联通宽带测速 美国迈阿密 godaddy空间 什么是dns 阿里云主机 大容量存储方案 关闭空间申请 汽车摇号申请网站 英国伦敦发生爆炸 更多