Commit 0e00ed59d8ded63d236710504fba7d82d055077d
1 parent
feb212ec
modfly the driver
Showing
26 changed files
with
803 additions
and
1356 deletions
IAP/iap.c
| 1 | 1 | #include "iap.h" |
| 2 | 2 | #include "usart.h" |
| 3 | -#include "timer.h" | |
| 4 | 3 | #include "crc.h" |
| 5 | 4 | #include "flash.h" |
| 6 | 5 | #include "delay.h" |
| 7 | - | |
| 6 | +#include "usart1.h" | |
| 7 | +#include "uart5.h" | |
| 8 | 8 | |
| 9 | 9 | iapfun jump2app; |
| 10 | 10 | |
| ... | ... | @@ -57,17 +57,17 @@ void Local_Update(void) |
| 57 | 57 | uint16_t crc = 0xFFFF; |
| 58 | 58 | uint32_t handle; |
| 59 | 59 | |
| 60 | - Tick_Delay_ms(70); | |
| 60 | + delay_ms(70); | |
| 61 | 61 | Uart5_Send(Manual_Line,sizeof(Manual_Line)); |
| 62 | - Tick_Delay_ms(70); | |
| 62 | + delay_ms(70); | |
| 63 | 63 | Uart5_Send(Manual_Labal,sizeof(Manual_Labal)); |
| 64 | - Tick_Delay_ms(70); | |
| 64 | + delay_ms(70); | |
| 65 | 65 | Uart5_Send(Manual_Start,sizeof(Manual_Start)); |
| 66 | - Tick_Delay_ms(70); | |
| 66 | + delay_ms(70); | |
| 67 | 67 | Uart5_Send(Manual_Ack,sizeof(Manual_Ack)); |
| 68 | - Tick_Delay_ms(70); | |
| 68 | + delay_ms(70); | |
| 69 | 69 | Uart5_Send(Manual_Cancel,sizeof(Manual_Cancel)); |
| 70 | - Tick_Delay_ms(70); | |
| 70 | + delay_ms(70); | |
| 71 | 71 | Uart5_Send(Manual_Line,sizeof(Manual_Line)); |
| 72 | 72 | |
| 73 | 73 | |
| ... | ... | @@ -140,7 +140,7 @@ void Detection_Update(void) |
| 140 | 140 | |
| 141 | 141 | for(i=0;i<WAIT_TIME;i++) |
| 142 | 142 | { |
| 143 | - Tick_Delay_ms(1000); | |
| 143 | + delay_ms(1000); | |
| 144 | 144 | if(UART_FINISH) |
| 145 | 145 | { |
| 146 | 146 | UART_FINISH= false; |
| ... | ... | @@ -154,7 +154,38 @@ void Detection_Update(void) |
| 154 | 154 | } |
| 155 | 155 | } |
| 156 | 156 | |
| 157 | +#define VERSION "Bootloader version: MFGW2.0\r\n" | |
| 157 | 158 | |
| 159 | +uint8_t uart_boot_detect(void) | |
| 160 | +{ | |
| 161 | + uint8_t retry_cnt=0; | |
| 162 | + printf(WELCOME); | |
| 163 | + printf(VERSION); | |
| 164 | + for(retry_cnt=0;retry_cnt<LOCAL_WAITE_TIME;retry_cnt++) | |
| 165 | + { | |
| 166 | + printf("Run application after %d second(s)...........\r\n",LOCAL_WAITE_TIME-retry_cnt); | |
| 167 | + printf("Input any key and Enter to stay in bootloader\r\n"); | |
| 168 | + delay_ms(1000); | |
| 169 | + | |
| 170 | + if((u5.rx_status == RX_FINISHED)&& | |
| 171 | + ((u5.rx_buf[0]=='b')||(u5.rx_buf[0]=='B'))&& | |
| 172 | + (u5.rx_len == 2)) | |
| 173 | + { | |
| 174 | + return LOCAL_BOOT_FROM_UART5; | |
| 175 | + } | |
| 176 | + else if((u1.rx_status == RX_FINISHED)&& | |
| 177 | + ((u1.rx_buf[0]=='b')||(u1.rx_buf[0]=='B'))&& | |
| 178 | + (u1.rx_len == 2)) | |
| 179 | + { | |
| 180 | + return LOCAL_BOOT_FROM_USART1; | |
| 181 | + } | |
| 182 | + else | |
| 183 | + { | |
| 184 | + // not detected | |
| 185 | + } | |
| 186 | + } | |
| 187 | + return LOCAL_BOOT_NONE; | |
| 188 | +} | |
| 158 | 189 | |
| 159 | 190 | |
| 160 | 191 | ... | ... |
IAP/iap.h
| ... | ... | @@ -12,5 +12,11 @@ void Run_Flash_App(uint32_t appxaddr); //Ìø×ªµ½APP³ÌÐòÖ´ÐÐ |
| 12 | 12 | //void Local_Update(void); |
| 13 | 13 | void Detection_Update(void); |
| 14 | 14 | |
| 15 | + | |
| 16 | + | |
| 17 | +#define LOCAL_BOOT_FROM_UART5 2 | |
| 18 | +#define LOCAL_BOOT_FROM_USART1 1 | |
| 19 | +#define LOCAL_BOOT_NONE 0 | |
| 20 | + | |
| 15 | 21 | #endif |
| 16 | 22 | ... | ... |
OBJ/IAP.hex deleted
| 1 | -:020000040800F2 | |
| 2 | -:100000009805002089020008910200089302000868 | |
| 3 | -:1000100095020008970200089902000800000000FD | |
| 4 | -:100020000000000000000000000000009B0200082B | |
| 5 | -:100030009D020008000000009F02000891130008C4 | |
| 6 | -:10004000A3020008A3020008A3020008A3020008FC | |
| 7 | -:10005000A3020008A3020008A3020008A3020008EC | |
| 8 | -:10006000A3020008A3020008A3020008A3020008DC | |
| 9 | -:10007000A3020008A3020008A3020008A3020008CC | |
| 10 | -:10008000A3020008A3020008A3020008A3020008BC | |
| 11 | -:10009000A3020008A3020008A3020008A3020008AC | |
| 12 | -:1000A000A3020008A3020008A3020008A30200089C | |
| 13 | -:1000B000A302000861140008A3020008A3020008BC | |
| 14 | -:1000C000A3020008A3020008A3020008A30200087C | |
| 15 | -:1000D000A3020008B5170008A3020008A302000845 | |
| 16 | -:1000E000A3020008A3020008A3020008A30200085C | |
| 17 | -:1000F000A3020008A3020008A3020008A30200084C | |
| 18 | -:10010000A3020008A3020008A3020008A30200083B | |
| 19 | -:10011000A302000881160008A3020008A302000839 | |
| 20 | -:10012000A3020008A3020008A3020008A30200081B | |
| 21 | -:10013000A3020008A3020008A3020008A30200080B | |
| 22 | -:10014000A3020008A3020008A3020008A3020008FB | |
| 23 | -:10015000A3020008A3020008A3020008A3020008EB | |
| 24 | -:10016000A3020008A3020008A3020008A3020008DB | |
| 25 | -:10017000A3020008A3020008A3020008A3020008CB | |
| 26 | -:10018000A3020008A302000800F002F800F064F8DF | |
| 27 | -:100190000AA090E8000C82448344AAF10107DA45E2 | |
| 28 | -:1001A00001D100F059F8AFF2090EBAE80F0013F0D0 | |
| 29 | -:1001B000010F18BFFB1A43F001031847481C000049 | |
| 30 | -:1001C000681C00000A444FF0000C10F8013B13F0CB | |
| 31 | -:1001D000070408BF10F8014B1D1108BF10F8015BA0 | |
| 32 | -:1001E000641E05D010F8016B641E01F8016BF9D193 | |
| 33 | -:1001F00013F0080F1EBF10F8014BAD1C0C1B09D1EA | |
| 34 | -:100200006D1E58BF01F801CBFAD505E014F8016B5B | |
| 35 | -:1002100001F8016B6D1EF9D59142D6D370470000ED | |
| 36 | -:100220000023002400250026103A28BF78C1FBD8FF | |
| 37 | -:10023000520728BF30C148BF0B607047642900F0E7 | |
| 38 | -:100240008380782900F0BC80002070471FB501F042 | |
| 39 | -:10025000BFFC1FBD10B510BD00F0FEF91146FFF741 | |
| 40 | -:10026000F5FF01F0BDFB00F01CFA03B4FFF7F2FF4D | |
| 41 | -:1002700003BC01F0A5FB000030BF72B6704762B648 | |
| 42 | -:10028000704780F30888704709488047094800474D | |
| 43 | -:10029000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE736 | |
| 44 | -:1002A000FEE7FEE704480549034A054B7047000096 | |
| 45 | -:1002B000A11300088901000898010020980500207A | |
| 46 | -:1002C00098010020704700000FB4044910B503AA3C | |
| 47 | -:1002D000029800F06BF910BC5DF814FB00000020E0 | |
| 48 | -:1002E0002DE9F0410E460446002020622046E168D8 | |
| 49 | -:1002F000884730B3252805D0D4E901219047206AEA | |
| 50 | -:10030000401CF2E7E168204600278847050018D026 | |
| 51 | -:10031000A5F14100192802D820354FF40067324674 | |
| 52 | -:10032000294620462760FFF789FF40B1012804D005 | |
| 53 | -:10033000F61D26F007060836D8E7361DD6E728460C | |
| 54 | -:10034000DAE7206ABDE8F0812DE9F0410646002495 | |
| 55 | -:1003500010687529314616A510D0AFF3008000282B | |
| 56 | -:1003600002DA404213A507E031688A0701D512A5D9 | |
| 57 | -:1003700002E0490704D511A5012401E0AFF3008094 | |
| 58 | -:1003800000210A2206F1240709E0B0FBF2FCB0FBD1 | |
| 59 | -:10039000F2F302FB1C00303078541846491C002848 | |
| 60 | -:1003A000F3D123462A463046BDE8F04100F0A5B817 | |
| 61 | -:1003B000000000002D0000002B00000020000000C5 | |
| 62 | -:1003C00070B504460D4621461068AFF300802188C1 | |
| 63 | -:1003D000090502D50F4A7A4402E00E4A7A440E32E9 | |
| 64 | -:1003E000002104F1240305E000F00F060009965DEA | |
| 65 | -:1003F0005E54491C0028F7D120780023000704D55B | |
| 66 | -:10040000702D02D009B1022311322046BDE87040A0 | |
| 67 | -:1004100000F073B8001A000040EA010370B59B07B2 | |
| 68 | -:100420002ED14FF00136042A2AD308C810C99D1BCB | |
| 69 | -:100430009D43121F15EAC61517D0D8B2E1B2401A73 | |
| 70 | -:1004400050EA056110D198B2A1B2401A50EA0541B4 | |
| 71 | -:100450000AD123F07F4024F07F41401A50EA052161 | |
| 72 | -:1004600002D1180EA0EB146070BDA342DBD018BA05 | |
| 73 | -:1004700021BA884201D9012070BD4FF0FF3070BD14 | |
| 74 | -:100480000AB9002070BD10F8013B11F8014B63B1AF | |
| 75 | -:10049000A3420AD1521E08D010F8013B11F8014BBB | |
| 76 | -:1004A0001BB1A34201D1521EEDD1181B70BD4FF0FC | |
| 77 | -:1004B00000020429C0F0128010F0030C00F08A80C2 | |
| 78 | -:1004C000CCF1040CBCF1020F18BF00F8012BA8BF3F | |
| 79 | -:1004D00020F8022BA1EB0C0100F07CB85FEAC17C94 | |
| 80 | -:1004E00024BF00F8012B00F8012B48BF00F8012BB6 | |
| 81 | -:1004F000704770477047704770472DE9F0470D46C9 | |
| 82 | -:1005000099469246044600F124080168880604D5FD | |
| 83 | -:10051000E06921F01001216000E00120A84201DD26 | |
| 84 | -:10052000471B00E00027A1697A1902EB0900081AAD | |
| 85 | -:10053000A0612078C00602D42046AFF300800026D8 | |
| 86 | -:1005400008E0D4E901211AF806009047206A401C0F | |
| 87 | -:10055000761C20624E45F4DB2078C0060AD5204682 | |
| 88 | -:10056000AFF3008006E0D4E9012130209047206AF3 | |
| 89 | -:10057000401C2062381EA7F10107F4DC07E0D4E933 | |
| 90 | -:10058000012118F805009047206A401C2062281EAF | |
| 91 | -:10059000A5F10105F3DC2046AFF3008020780006CA | |
| 92 | -:1005A00002D50220BDE8F0870120FBE7074B70B5BC | |
| 93 | -:1005B0000D467B4400F039F80446284600F048F820 | |
| 94 | -:1005C00010B14FF0FF3070BD204670BD0F14000019 | |
| 95 | -:1005D0004FF0000200B5134694469646203922BFDC | |
| 96 | -:1005E000A0E80C50A0E80C50B1F12001BFF4F7AF27 | |
| 97 | -:1005F000090728BFA0E80C5048BF0CC05DF804EB09 | |
| 98 | -:10060000890028BF40F8042B08BF704748BF20F876 | |
| 99 | -:10061000022B11F0804F18BF00F8012B704700002B | |
| 100 | -:1006200001694A1C02610878704700B58FB0CDE9B6 | |
| 101 | -:1006300001310021059105497944CDE903101146A6 | |
| 102 | -:100640006846FFF74DFE0FB000BD0000E5FFFFFF5D | |
| 103 | -:10065000007B00F080007047754600F02BF8AE4636 | |
| 104 | -:1006600005006946534620F00700854618B020B5BE | |
| 105 | -:10067000FFF718FEBDE820404FF000064FF00007DE | |
| 106 | -:100680004FF000084FF0000B21F00701AC46ACE83A | |
| 107 | -:10069000C009ACE8C009ACE8C009ACE8C0098D46A7 | |
| 108 | -:1006A000704710B50446AFF300802046BDE8104007 | |
| 109 | -:1006B000FFF7DBBD004870473401002010B5044847 | |
| 110 | -:1006C00001680448FFF7F3FE00200149086010BDEF | |
| 111 | -:1006D00004000020000000687FB5684600F008FDB7 | |
| 112 | -:1006E0004FF47A720098B0FBF2F1481EB0F1807FAF | |
| 113 | -:1006F00000D31BE0481E4FF0E022506150170F223C | |
| 114 | -:10070000002807DA13071D0E094B00F00F04241F01 | |
| 115 | -:100710001D5503E013071C0E064B1C5400BF0020A0 | |
| 116 | -:100720004FF0E02290610720106100BF7FBD000004 | |
| 117 | -:1007300018ED00E000E400E010B5002418E04FF4EC | |
| 118 | -:100740007A7000F011FF0C48007878B100200A4957 | |
| 119 | -:100750000870072209A10B48FFF75EFE30B915218A | |
| 120 | -:10076000094801F009F900F051FB03E0601CC4B234 | |
| 121 | -:10077000052CE4DB00BF10BD0C00002055504441A7 | |
| 122 | -:1007800054450000000000681F01002030B10749F7 | |
| 123 | -:10079000096841F48061054A116005E00349096870 | |
| 124 | -:1007A00021F48061014A116070470000003C024062 | |
| 125 | -:1007B00070B504460A460026092502B909E0012A57 | |
| 126 | -:1007C00001D1160205E0022A01D1160201E04FF420 | |
| 127 | -:1007D000407600F09FF80546092D28D1154800689D | |
| 128 | -:1007E00020F44070134908600846006830430860F0 | |
| 129 | -:1007F0000846006820F0F80008600846006844F0E9 | |
| 130 | -:10080000020108430B4908600846006840F4803044 | |
| 131 | -:10081000086000F07FF805460648006820F00200F6 | |
| 132 | -:10082000044908600846006820F0F800086028467F | |
| 133 | -:1008300070BD0000103C024009201349096801F412 | |
| 134 | -:100840008031B1F5803F01D101201CE00E490968DB | |
| 135 | -:1008500001F0100109B1062015E00B49096801F407 | |
| 136 | -:10086000807109B102200EE00749096801F0EF012B | |
| 137 | -:1008700009B1072007E00449096801F0020109B144 | |
| 138 | -:10088000082000E0092070470C3C02400348006843 | |
| 139 | -:1008900040F000400149086070470000103C0240F1 | |
| 140 | -:1008A00030B502460C46092500F034F80546092DFE | |
| 141 | -:1008B00019D10E48006820F440700C4908600846C1 | |
| 142 | -:1008C000006840F4007008600846006840F00100CD | |
| 143 | -:1008D0000860146000F01EF805460448006820F027 | |
| 144 | -:1008E000010002490860284630BD0000103C02406B | |
| 145 | -:1008F0000548006800F0004028B1044802490C395E | |
| 146 | -:100900000860034808607047103C024023016745B7 | |
| 147 | -:10091000AB89EFCD08B509200090FFF78DFF00905F | |
| 148 | -:1009200002E0FFF789FF00909DF800000128F8D051 | |
| 149 | -:100930009DF8000008BD000051B18200A2F1C04244 | |
| 150 | -:10094000126842F001038200A2F1C042136009E084 | |
| 151 | -:100950008200A2F1C0421268034B1A408300A3F147 | |
| 152 | -:10096000C0431A6070470000FEFF0F00D0E901127B | |
| 153 | -:100970001143C268114302691143426911438269FC | |
| 154 | -:100980001143C2691143026A1143426A1143826AE8 | |
| 155 | -:100990001143C26A1143026B114302689200A2F133 | |
| 156 | -:1009A000C0421160816808290BD101688900A1F15A | |
| 157 | -:1009B000C041096841F0400201688900A1F1C041CD | |
| 158 | -:1009C0000A60416B0968426B526841EA0211426B4E | |
| 159 | -:1009D000926841EA0221426B928941EA0241426BEC | |
| 160 | -:1009E000128A41EA0251426B127D41EA0261426B76 | |
| 161 | -:1009F000926911430268521C9200A2F1C042116038 | |
| 162 | -:100A0000C16AB1F5804F1BD1816B0968826B526856 | |
| 163 | -:100A100041EA0211826B926841EA0221826B128ADA | |
| 164 | -:100A200041EA0251826B127D41EA0261826B926956 | |
| 165 | -:100A3000114302689200A2F1C042C2F8041107E01B | |
| 166 | -:100A40006FF0704201688900A1F1C041C1F8042132 | |
| 167 | -:100A50007047000000B599B001217A2000F008FB32 | |
| 168 | -:100A60000121084600F014FB4FF6B37017900220E6 | |
| 169 | -:100A70008DF8600000208DF8620003208DF8610081 | |
| 170 | -:100A800001208DF8630017A9964800F033F94FF65E | |
| 171 | -:100A90008370179002208DF8600000208DF86200AE | |
| 172 | -:100AA00003208DF8610001208DF8630017A98E489E | |
| 173 | -:100AB00000F020F94FF23F00179002208DF86000FF | |
| 174 | -:100AC00000208DF8620003208DF8610001208DF870 | |
| 175 | -:100AD000630017A9854800F00DF93F201790022008 | |
| 176 | -:100AE0008DF8600000208DF8620003208DF8610011 | |
| 177 | -:100AF00001208DF8630017A97D4800F0FBF80C2257 | |
| 178 | -:100B00000021784800F03EF90C220121754800F0E0 | |
| 179 | -:100B100039F90C220421734800F034F90C22052124 | |
| 180 | -:100B2000704800F02FF90C2208216E4800F02AF9D5 | |
| 181 | -:100B30000C2209216B4800F025F90C220A21694892 | |
| 182 | -:100B400000F020F90C220B21664800F01BF90C2262 | |
| 183 | -:100B50001146644800F016F90C220D21614800F09E | |
| 184 | -:100B600011F90C220E215F4800F00CF90C220F2124 | |
| 185 | -:100B70005C4800F007F90C2200215B4800F002F904 | |
| 186 | -:100B80000C220121584800F0FDF80C22072156489C | |
| 187 | -:100B900000F0F8F80C220821534800F0F3F80C227A | |
| 188 | -:100BA0000921514800F0EEF80C220A214E4800F0CD | |
| 189 | -:100BB000E9F80C220B214C4800F0E4F80C22114615 | |
| 190 | -:100BC000494800F0DFF80C220D21474800F0DAF820 | |
| 191 | -:100BD0000C220E21444800F0D5F80C220F21424887 | |
| 192 | -:100BE00000F0D0F80C220021404800F0CBF80C2295 | |
| 193 | -:100BF00001213E4800F0C6F80C2202213B4800F0DB | |
| 194 | -:100C0000C1F80C220321394800F0BCF80C22042161 | |
| 195 | -:100C1000364800F0B7F80C220521344800F0B2F84D | |
| 196 | -:100C20000C221146314800F0ADF80C220D212F485E | |
| 197 | -:100C300000F0A8F80C220E212C4800F0A3F80C229A | |
| 198 | -:100C40000F212A4800F09EF80C220021284800F0CD | |
| 199 | -:100C500099F80C220121264800F094F80C22022178 | |
| 200 | -:100C6000234800F08FF80C220321214800F08AF875 | |
| 201 | -:100C70000C2204211E4800F085F80C2205211C4896 | |
| 202 | -:100C800000F080F80C220A21194800F07BF80020BF | |
| 203 | -:100C90000190029008200390002004900590069097 | |
| 204 | -:100CA000079004200890002009900A9010200B90D3 | |
| 205 | -:100CB00000200C900E900D900F9010904FF48050EB | |
| 206 | -:100CC0001190002012901390149001A81590169086 | |
| 207 | -:100CD00008A8FFF74BFE01210420FFF72DFE19B0F5 | |
| 208 | -:100CE00000BD0000000C0240001002400014024051 | |
| 209 | -:100CF00000180240F0B50A4600210023002400BF7E | |
| 210 | -:100D00003DE0012505FA01F3156805EA03049C425C | |
| 211 | -:100D100034D105684F000326BE40B5430560157900 | |
| 212 | -:100D20004E00B5400668354305601579012D02D0A7 | |
| 213 | -:100D30001579022D16D185684F000326BE40B543B4 | |
| 214 | -:100D4000856055794E00B5408668354385604568B5 | |
| 215 | -:100D500001268E40B5434560456896798E40B6B20F | |
| 216 | -:100D600035434560C5684F000326BE40B543C560A6 | |
| 217 | -:100D7000D5794E00B540C6683543C560491C102979 | |
| 218 | -:100D8000BFD3F0BDF0B5002300244D07ED0E02FAED | |
| 219 | -:100D900005F3CE1000F1200555F826504E07F70E4A | |
| 220 | -:100DA0000F26BE40B543CF1000F1200646F827506D | |
| 221 | -:100DB000CE1000F1200555F8265045EA0304CE1068 | |
| 222 | -:100DC00000F1200545F82640F0BD418370470183BE | |
| 223 | -:100DD0007047000070B502460C46FF25FF2309E06E | |
| 224 | -:100DE00012F8010B80EA03010648405C80EA050323 | |
| 225 | -:100DF0000548455C201EA4F10106B4B2F0D143EAD7 | |
| 226 | -:100E0000052070BDDA1B0008DA1C000838B5FFF7B2 | |
| 227 | -:100E100055FC4FF6FF74462000F0A6FB30215148E8 | |
| 228 | -:100E200000F0AAFD462000F09FFB15214E4800F07F | |
| 229 | -:100E3000A3FD462000F098FB25214C4800F09CFDC6 | |
| 230 | -:100E4000462000F091FB1E21494800F095FD462008 | |
| 231 | -:100E500000F08AFB2521474800F08EFD462000F077 | |
| 232 | -:100E600083FB30213F4800F087FD78E0424800785E | |
| 233 | -:100E7000002874D0042241A14148FFF7CDFA58B9A7 | |
| 234 | -:100E80000521404800F078FD3F4800900422694663 | |
| 235 | -:100E90003E4800F0BBF95AE006223DA13848FFF772 | |
| 236 | -:100EA000BBFA002844D10521364800F065FDFFF764 | |
| 237 | -:100EB00005FC00203049087000BF2F480078012849 | |
| 238 | -:100EC000FBD1354935A0FFF7FFF905212D4800F08A | |
| 239 | -:100ED00053FD31480088801E81B22948FFF77AFF10 | |
| 240 | -:100EE0000446214633A0FFF7EFF92B480068401E67 | |
| 241 | -:100EF0002349095C28480068801E214A105C41EAA9 | |
| 242 | -:100F00000020A0420BD124480068821E1C492C48B6 | |
| 243 | -:100F100000F07CF919212B4800F02EFD03E016218A | |
| 244 | -:100F2000294800F029FD214628A0FFF7CDF90EE061 | |
| 245 | -:100F3000072229A11248FFF76FFA20B905211148AD | |
| 246 | -:100F400000F01AFD0CE01A21254800F015FDFFF70E | |
| 247 | -:100F5000B5FB002008490870032000F0C1FB85E7BD | |
| 248 | -:100F600000BF38BDEA0000206D0000208200002094 | |
| 249 | -:100F7000A7000020C50000200C00002041434B00CA | |
| 250 | -:100F8000000000681A010020CDAB341200400008B8 | |
| 251 | -:100F90005354415254000000040000207265636500 | |
| 252 | -:100FA000697665202564204279746573206D7367C6 | |
| 253 | -:100FB0000D0A00004341434C203D2025780D0A00D6 | |
| 254 | -:100FC00000000108240000203D000020435243207F | |
| 255 | -:100FD0003D2025780D0A000043414E43454C00005A | |
| 256 | -:100FE0005300002070B5002100230F22C4781CB3E9 | |
| 257 | -:100FF000174C246804F4E064C4F5E064C4F30721EA | |
| 258 | -:10100000C1F10404E3B20A4144789C40E1B284781F | |
| 259 | -:10101000144021430C07210E0E4C057861550478CD | |
| 260 | -:1010200004F01F050124AC4005786D11AD0005F1F9 | |
| 261 | -:10103000E025C5F8004109E0047804F01F0501240B | |
| 262 | -:10104000AC40054D0678761145F8264070BD00008D | |
| 263 | -:101050000CED00E000E400E080E100E00249014323 | |
| 264 | -:10106000024A1160704700000000FA050CED00E034 | |
| 265 | -:1010700029B1064A12680243044B1A6004E0034A8D | |
| 266 | -:1010800012688243014B1A607047000030380240FA | |
| 267 | -:1010900029B1064A12680243044B1A6004E0034A6D | |
| 268 | -:1010A00012688243014B1A607047000038380240D2 | |
| 269 | -:1010B00029B1064A12680243044B1A6004E0034A4D | |
| 270 | -:1010C00012688243014B1A607047000040380240AA | |
| 271 | -:1010D00029B1064A12680243044B1A6004E0034A2D | |
| 272 | -:1010E00012688243014B1A60704700004438024086 | |
| 273 | -:1010F000F0B5002100220024022500260223324FF1 | |
| 274 | -:101100003F6807F00C0121B1042905D0082937D127 | |
| 275 | -:1011100005E02E4F076036E02D4F076033E02A4F81 | |
| 276 | -:101120003F1F3F68C7F38056274F3F1F3F6807F0B8 | |
| 277 | -:101130003F036EB1264FB7FBF3F7DFF88CC0ACF17D | |
| 278 | -:10114000040CDCF800C0CCF3881C07FB0CF40CE0AA | |
| 279 | -:101150001E4FB7FBF3F7DFF870C0ACF1040CDCF8FE | |
| 280 | -:1011600000C0CCF3881C07FB0CF4174F3F1F3F68EF | |
| 281 | -:10117000C7F301477F1C7D00B4FBF5F7076002E071 | |
| 282 | -:10118000124F076000BF00BF0F4F3F6807F0F0012C | |
| 283 | -:101190000909104F7A5C0768D74047600A4F3F68DB | |
| 284 | -:1011A00007F4E051890A0B4F7A5C4768D7408760A3 | |
| 285 | -:1011B000054F3F6807F46041490B064F7A5C47686A | |
| 286 | -:1011C000D740C760F0BD0000083802400024F4009A | |
| 287 | -:1011D00040787D010D00002010B5044620680749C5 | |
| 288 | -:1011E0000840B0F1005F08D16068054908602068D8 | |
| 289 | -:1011F000FFF747F802480068804710BD0000FE2F47 | |
| 290 | -:101200002000002001460868704700002DE9F047E3 | |
| 291 | -:1012100004460E4617464FF009080025A94604F07B | |
| 292 | -:10122000030008B1BDE8F087FFF762FB0020FFF77D | |
| 293 | -:10123000ADFA254604EB07091748854215D2174831 | |
| 294 | -:1012400085420AD102212020FFF7B2FA804602210E | |
| 295 | -:101250002820FFF7ADFA804607E01148854204D107 | |
| 296 | -:1012600002210820FFF7A4FA8046B8F1090F0CD13B | |
| 297 | -:1012700008E020463168FFF713FB092800D003E09F | |
| 298 | -:10128000241D361D4C45F4D300BF0120FFF77EFA24 | |
| 299 | -:10129000FFF7FCFA00BFC5E70000FF1F00000108D0 | |
| 300 | -:1012A000004000080CB50020019000903448006810 | |
| 301 | -:1012B00040F480303249086000BF3148006800F4D3 | |
| 302 | -:1012C000003000900198401C0190009818B90198D6 | |
| 303 | -:1012D000B0F5A04FF1D12A48006800F4003010B1F9 | |
| 304 | -:1012E0000120009001E0002000900098012846D1E4 | |
| 305 | -:1012F00023484030006840F0805021494031086068 | |
| 306 | -:101300002048006840F440401E4908601C480830EE | |
| 307 | -:1013100000681B49083108600846006840F4004036 | |
| 308 | -:1013200008600846006840F4A05008601648091F8D | |
| 309 | -:101330000860081F006840F08070091F086000BF47 | |
| 310 | -:101340000F48006800F000700028F9D040F20570E6 | |
| 311 | -:101350000E4908600A480830006820F00300084978 | |
| 312 | -:10136000083108600846006840F00200086000BFCD | |
| 313 | -:1013700003480830006800F00C000828F8D10CBDC4 | |
| 314 | -:10138000003802400070004019544004003C024004 | |
| 315 | -:1013900002480068401C01490860704708000020AE | |
| 316 | -:1013A00010B51548006840F47000134908601348F0 | |
| 317 | -:1013B000006840F001001149086000200F49083121 | |
| 318 | -:1013C00008600E4800680E4908400C4908600D4846 | |
| 319 | -:1013D000091D0860081F006820F48020091F0860AC | |
| 320 | -:1013E000002006490C310860FFF75CFF4FF00060F9 | |
| 321 | -:1013F00001498039086010BD88ED00E000380240E6 | |
| 322 | -:10140000FFFFF6FE103000247FB505460C46012193 | |
| 323 | -:101410000220FFF74DFE0295ADF804400020ADF824 | |
| 324 | -:101420000600ADF80C0001A90C4800F05BF80121A2 | |
| 325 | -:101430000A4800F02DF801221146084800F048F84B | |
| 326 | -:101440001D208DF8000001208DF801008DF80200AC | |
| 327 | -:101450008DF803006846FFF7C5FD7FBD000400401E | |
| 328 | -:1014600010B50121084800F022F8012806D100211A | |
| 329 | -:10147000054800F010F801200449087001210248D5 | |
| 330 | -:1014800000F006F810BD0000000400400C00002031 | |
| 331 | -:10149000CA430282704721B1028842F001020280F1 | |
| 332 | -:1014A00004E002884FF6FE731A400280704730B5A0 | |
| 333 | -:1014B0000246002000230024158A05EA01039589CD | |
| 334 | -:1014C00005EA010413B10CB1012000E0002030BD99 | |
| 335 | -:1014D0001AB183890B43838102E083898B43838123 | |
| 336 | -:1014E0007047000000220288184B98420ED0184B1B | |
| 337 | -:1014F00098420BD0B0F1804F08D0164B984205D0DF | |
| 338 | -:10150000154B984202D0154B984204D14FF68F7379 | |
| 339 | -:101510001A404B881A43124B984207D0114B9842FD | |
| 340 | -:1015200004D04FF6FF431A400B891A4302804B68E0 | |
| 341 | -:10153000C3620B880385054B984202D0044B984246 | |
| 342 | -:1015400001D18B7A0386012383827047000001401A | |
| 343 | -:10155000000401400004004000080040000C00406E | |
| 344 | -:101560000010004000140040044A116800BF034A04 | |
| 345 | -:101570001268521A8242FAD3704700000800002015 | |
| 346 | -:1015800010B588B0044601210C20FFF771FD012140 | |
| 347 | -:101590000805FFF78DFD082202213648FFF7F2FB10 | |
| 348 | -:1015A00008220C213448FFF7EDFB042006900220AE | |
| 349 | -:1015B0008DF81C008DF81D0000208DF81E00012004 | |
| 350 | -:1015C0008DF81F0006A92B48FFF794FB4FF48050BD | |
| 351 | -:1015D000069002208DF81C008DF81D0000208DF86B | |
| 352 | -:1015E0001E0001208DF81F0006A92348FFF782FB8B | |
| 353 | -:1015F0000820069001208DF81C0002208DF81D00A7 | |
| 354 | -:1016000000208DF81E0001208DF81F0006A9194842 | |
| 355 | -:10161000FFF770FB032000F063F802940020ADF8A0 | |
| 356 | -:101620000C00ADF80E00ADF81000ADF814000C2061 | |
| 357 | -:10163000ADF8120002A9114800F030F901210F485D | |
| 358 | -:1016400000F0D1F8012240F225510C4800F001F9D8 | |
| 359 | -:1016500035208DF8040005208DF8050000208DF858 | |
| 360 | -:10166000060001208DF8070001A8FFF7BBFC08B0B9 | |
| 361 | -:1016700010BD0000000C0240000802400050004075 | |
| 362 | -:1016800010B540F22551124800F0B9F8D0B1104819 | |
| 363 | -:101690008088C1B20F4802680068401C0D4B18607A | |
| 364 | -:1016A0000D48815400200D49086001210B48243861 | |
| 365 | -:1016B000FFF7F1FE07480068B0F5483F02D100206F | |
| 366 | -:1016C0000449086040F22551014800F07DF810BD42 | |
| 367 | -:1016D0000050004004000020000000682404004086 | |
| 368 | -:1016E00010B50446022C04D108210548FFF76FFB12 | |
| 369 | -:1016F00005E0032C03D108210148FFF766FB10BD6C | |
| 370 | -:10170000000C024010B588B0044601210846FFF7DE | |
| 371 | -:10171000AFFC01211020FFF7DBFC07220921234841 | |
| 372 | -:10172000FFF730FB07220A212048FFF72BFB4FF47D | |
| 373 | -:10173000C060069002208DF81C008DF81D0000206E | |
| 374 | -:101740008DF81E0001208DF81F0006A91748FFF72D | |
| 375 | -:10175000D1FA02940020ADF80C00ADF80E00ADF8FF | |
| 376 | -:101760001000ADF814000C20ADF8120002A91048CA | |
| 377 | -:1017700000F094F801210E4800F035F8012240F203 | |
| 378 | -:1017800025510B4800F065F825208DF80400032052 | |
| 379 | -:101790008DF8050000208DF8060001208DF8070067 | |
| 380 | -:1017A00001A8FFF71FFC08B010BD000000000240B8 | |
| 381 | -:1017B0000010014010B540F22551024800F004F835 | |
| 382 | -:1017C00010BD00000010014010B50022002340F6BB | |
| 383 | -:1017D0006A14A14200D100BF0A1201249440A3B2AE | |
| 384 | -:1017E000DC43048010BD21B1828942F40052828121 | |
| 385 | -:1017F00004E082894DF6FF731A408281704770B50C | |
| 386 | -:101800000246002400230025002040F66A16B1425B | |
| 387 | -:1018100000D100BFC1F3421501F01F03012606FAF3 | |
| 388 | -:1018200003F3012D02D19689334006E0022D02D147 | |
| 389 | -:10183000168A334001E0968A33400C12012606FADC | |
| 390 | -:1018400004F41688344013B10CB1012000E00020EC | |
| 391 | -:1018500070BDF0B50346002400260025002040F6A8 | |
| 392 | -:101860006A17B94200D100BF1846C1F3421401F013 | |
| 393 | -:101870001F06012707FA06F5012C01D10C3004E000 | |
| 394 | -:10188000022C01D1103000E014301AB107682F4348 | |
| 395 | -:10189000076002E00768AF430760F0BD2DE9FF472E | |
| 396 | -:1018A00005460E460024A14600BFA046B08900B1FF | |
| 397 | -:1018B00000BF2C8A24F44054F08804432C82AC8965 | |
| 398 | -:1018C00041F20C608443B088318908437189084330 | |
| 399 | -:1018D0000443AC81AC8A24F44074B0890443AC82E4 | |
| 400 | -:1018E0006846FFF705FC2048854202D01F48854224 | |
| 401 | -:1018F00002D1DDF80C9001E0DDF80890A88900F431 | |
| 402 | -:10190000004040B109EBC90000EB09103168490003 | |
| 403 | -:10191000B0FBF1F707E009EBC90000EB09103168F3 | |
| 404 | -:101920008900B0FBF1F76420B7FBF0F00401200957 | |
| 405 | -:10193000642101FB1078A88900F4004040B13220F6 | |
| 406 | -:1019400000EBC800B0FBF1F000F00700044308E032 | |
| 407 | -:10195000322000EB08106421B0FBF1F000F00F0022 | |
| 408 | -:1019600004432C81BDE8FF870010014000140140B2 | |
| 409 | -:10197000C1F308028280704770B505460E4602200A | |
| 410 | -:10198000FFF7AEFE0120FFF7EFFD00240CE0295D1C | |
| 411 | -:101990000A48FFF7EDFF00BF0848008800F040004C | |
| 412 | -:1019A0000028F9D0601CC4B2B442F0DB0120FFF77C | |
| 413 | -:1019B000DBFD0320FFF794FE70BD000000500040E7 | |
| 414 | -:1019C00000BF704700BF054A128802F04002002A9B | |
| 415 | -:1019D000F9D0C2B2014B9A8070470000001001405C | |
| 416 | -:1019E00008B54FF44070FFF739FBFEF775FE4FF472 | |
| 417 | -:1019F000E130FFF787FE4FF4E130FFF7C1FD4FF410 | |
| 418 | -:101A000000610846FFF700FDFFF724F82DA0FEF760 | |
| 419 | -:101A10005BFC4FF448313448FEF749FDFEF78CFE7D | |
| 420 | -:101A20003248FFF7EFFB00900098B0F1FF3F2BD05A | |
| 421 | -:101A30002F49084420B12F490844002833D109E038 | |
| 422 | -:101A40002DA0FEF741FC1420FFF78EFD3548FFF76F | |
| 423 | -:101A5000C3FB2CE034A0FEF737FC3E4800904FF467 | |
| 424 | -:101A6000003230480099FFF7D1FB0A20FFF77CFDD8 | |
| 425 | -:101A70001F4840420090042269461C48FFF7C6FBFD | |
| 426 | -:101A80002848FFF7A9FB12E033A0FEF71DFC184819 | |
| 427 | -:101A900040420090042269461448FFF7B7FB2148F2 | |
| 428 | -:101AA000FFF79AFB03E037A0FEF70EFC00BF00BF74 | |
| 429 | -:101AB00006E040A0FEF708FC41F28830FFF754FD35 | |
| 430 | -:101AC000F7E700000D0A2A2A2A2A2A2A2A2A2A2A7D | |
| 431 | -:101AD000426F6F744C6F616465722A2A2A2A2A2A1F | |
| 432 | -:101AE0002A2A2A2A0D0A0000000000680040000887 | |
| 433 | -:101AF0003354CBED1201CDCC0D0A2A2A2A2A2A2AE8 | |
| 434 | -:101B00002A2A2A2A52756E696E67204669726D7795 | |
| 435 | -:101B1000617265202A2A2A2A2A2A2A2A2A2A0D0AB2 | |
| 436 | -:101B200000000000000001080D0A2A2A2A2A2A2A99 | |
| 437 | -:101B30002A2A2A2A4C6F6164696E67204669726D91 | |
| 438 | -:101B400077617265202A2A2A2A2A2A2A2A2A2A0D15 | |
| 439 | -:101B50000A000000000004080D0A2A2A2A2A2A2A5C | |
| 440 | -:101B60002A2A2A2A44656661756C74204669726D5A | |
| 441 | -:101B700077617265202A2A2A2A2A2A2A2A2A2A0DE5 | |
| 442 | -:101B80000A0000000D0A2A2A2A2A2A2A2A2A2A2A90 | |
| 443 | -:101B9000446F6E5E7420486176696E672046697294 | |
| 444 | -:101BA0006D77617265202A2A2A2A2A2A2A2A2A2A55 | |
| 445 | -:101BB0000D0A00000D0A2A2A2A2A2A2A2A2A49441A | |
| 446 | -:101BC0004C452A2A2A2A2A2A2A2A0D0A000000001D | |
| 447 | -:101BD0004FF04070E1EE100A704700C1814001C033 | |
| 448 | -:101BE000804101C0804100C1814001C0804100C1ED | |
| 449 | -:101BF000814000C1814001C0804101C0804100C1DD | |
| 450 | -:101C0000814000C1814001C0804100C1814001C0CC | |
| 451 | -:101C1000804101C0804100C1814001C0804100C1BC | |
| 452 | -:101C2000814000C1814001C0804100C1814001C0AC | |
| 453 | -:101C3000804101C0804100C1814000C1814001C09C | |
| 454 | -:101C4000804101C0804100C1814001C0804100C18C | |
| 455 | -:101C5000814000C1814001C0804101C0804100C17C | |
| 456 | -:101C6000814000C1814001C0804100C1814001C06C | |
| 457 | -:101C7000804101C0804100C1814000C1814001C05C | |
| 458 | -:101C8000804101C0804100C1814001C0804100C14C | |
| 459 | -:101C9000814000C1814001C0804100C1814001C03C | |
| 460 | -:101CA000804101C0804100C1814001C0804100C12C | |
| 461 | -:101CB000814000C1814001C0804101C0804100C11C | |
| 462 | -:101CC000814000C1814001C0804100C1814001C00C | |
| 463 | -:101CD000804101C0804100C1814000C0C101C303F7 | |
| 464 | -:101CE00002C2C60607C705C5C404CC0C0DCD0FCF74 | |
| 465 | -:101CF000CE0E0ACACB0BC90908C8D81819D91BDBE4 | |
| 466 | -:101D0000DA1A1EDEDF1FDD1D1CDC14D4D515D71733 | |
| 467 | -:101D100016D6D21213D311D1D010F03031F133F3E3 | |
| 468 | -:101D2000F23236F6F737F53534F43CFCFD3DFF3F33 | |
| 469 | -:101D30003EFEFA3A3BFB39F9F83828E8E929EB2B63 | |
| 470 | -:101D40002AEAEE2E2FEF2DEDEC2CE42425E527E7F3 | |
| 471 | -:101D5000E62622E2E323E12120E0A06061A163A363 | |
| 472 | -:101D6000A26266A6A767A56564A46CACAD6DAF6FF3 | |
| 473 | -:101D70006EAEAA6A6BAB69A9A86878B8B979BB7B63 | |
| 474 | -:101D80007ABABE7E7FBF7DBDBC7CB47475B577B7B3 | |
| 475 | -:101D9000B67672B2B373B17170B0509091519353E3 | |
| 476 | -:101DA000529296565797559594549C5C5D9D5F9FB3 | |
| 477 | -:101DB0009E5E5A9A9B5B99595898884849894B8BE3 | |
| 478 | -:101DC0008A4A4E8E8F4F8D4D4C8C44848545874773 | |
| 479 | -:101DD00046868242438341818040303132333435FC | |
| 480 | -:101DE0003637383941424344454640305800303157 | |
| 481 | -:101DF0003233343536373839616263646566403072 | |
| 482 | -:101E000078000000241E00080000002034010000BB | |
| 483 | -:101E1000C4010008F01E0008340100206404000022 | |
| 484 | -:101E20002002000801112D010203040475060708B1 | |
| 485 | -:101E300009E81946697265576172652043686563F0 | |
| 486 | -:101E40006B20537563636573730D0A191D466169D1 | |
| 487 | -:101E50006C161818496E70757420436F6D6D616E45 | |
| 488 | -:101E60006420496E636F72726563741A1D434D443A | |
| 489 | -:101E70000901180C4465736372697074696F6E159B | |
| 490 | -:101E80001E53544152541668135374617274205592 | |
| 491 | -:101E900070205472616E736D6974205F19251D4145 | |
| 492 | -:101EA000434B3A24A80C436F6E6669726D205468E8 | |
| 493 | -:101EB000651E2F43414E43454C203E616E63656C69 | |
| 494 | -:101EC0001F180F5570646174652050726F677261DE | |
| 495 | -:101ED0006D250C280D0A2A0119301B4F4B05580C93 | |
| 496 | -:101EE000456E746572204C6F63616C521915000069 | |
| 497 | -:040000050800018965 | |
| 498 | -:00000001FF |
SYSTEM/TIMER/timer.c deleted
| 1 | -#include "timer.h" | |
| 2 | - | |
| 3 | - | |
| 4 | - | |
| 5 | - | |
| 6 | - | |
| 7 | -/****************************************** | |
| 8 | -* @brief: 定时器3配置 | |
| 9 | -* @param: arr 自动重装值 | |
| 10 | -* psc 分频 | |
| 11 | -* @retval: 无返回值 | |
| 12 | -* @note: | |
| 13 | -*******************************************/ | |
| 14 | -void TIM3_Config(uint32_t arr,uint16_t psc) | |
| 15 | -{ | |
| 16 | - TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; | |
| 17 | - NVIC_InitTypeDef NVIC_InitStructure; | |
| 18 | - | |
| 19 | - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); ///使能TIM3时钟 | |
| 20 | - | |
| 21 | - TIM_TimeBaseInitStructure.TIM_Period = arr; //自动重装载值 | |
| 22 | - TIM_TimeBaseInitStructure.TIM_Prescaler = psc; //定时器分频 | |
| 23 | - TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数模式 | |
| 24 | - TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; | |
| 25 | - | |
| 26 | - TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure); //初始化TIM3 | |
| 27 | - | |
| 28 | - TIM_ClearITPendingBit(TIM3, TIM_IT_Update); | |
| 29 | - TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); //允许定时器3更新中断 | |
| 30 | - | |
| 31 | - //TIM_Cmd(TIM3,ENABLE); //使能定时器3 | |
| 32 | - | |
| 33 | - NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //定时器3中断 | |
| 34 | - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 0x01; //抢占优先级1 | |
| 35 | - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; //子优先级1 | |
| 36 | - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; | |
| 37 | - NVIC_Init(&NVIC_InitStructure); | |
| 38 | - | |
| 39 | - | |
| 40 | -} | |
| 41 | - | |
| 42 | -/******************************* | |
| 43 | -* @brief: 定时器3中断服务函数 | |
| 44 | -* @param: | |
| 45 | -* @retval: | |
| 46 | -* @note: | |
| 47 | -********************************/ | |
| 48 | -bool UART_FINISH = false; | |
| 49 | -void TIM3_IRQHandler(void) | |
| 50 | -{ | |
| 51 | - if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) //溢出中断 | |
| 52 | - { | |
| 53 | - TIM_Cmd(TIM3,DISABLE); | |
| 54 | - | |
| 55 | - UART_FINISH = true; | |
| 56 | - } | |
| 57 | - TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除中断标志位 | |
| 58 | -} | |
| 59 | - | |
| 60 | - | |
| 61 | - | |
| 62 | - | |
| 63 | - | |
| 64 | - |
SYSTEM/TIMER/timer.h deleted
SYSTEM/delay/delay.c
| 1 | 1 | #include "delay.h" |
| 2 | 2 | |
| 3 | 3 | |
| 4 | -void Delay_init(void) | |
| 4 | +void delay_init(void) | |
| 5 | 5 | { |
| 6 | 6 | RCC_ClocksTypeDef RCC_Clocks; |
| 7 | 7 | RCC_GetClocksFreq(&RCC_Clocks); |
| ... | ... | @@ -16,10 +16,7 @@ void SysTick_Handler(void) |
| 16 | 16 | mTick++; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | - | |
| 20 | - | |
| 21 | - | |
| 22 | -void Tick_Delay_ms(uint32_t ms) | |
| 19 | +void delay_ms(uint32_t ms) | |
| 23 | 20 | { |
| 24 | 21 | uint32_t curTick = mTick; |
| 25 | 22 | |
| ... | ... | @@ -27,6 +24,3 @@ void Tick_Delay_ms(uint32_t ms) |
| 27 | 24 | } |
| 28 | 25 | |
| 29 | 26 | |
| 30 | - | |
| 31 | - | |
| 32 | - | ... | ... |
SYSTEM/delay/delay.h
SYSTEM/fsmc/fsmc.c deleted
| 1 | -#include "fsmc.h" | |
| 2 | - | |
| 3 | - | |
| 4 | - | |
| 5 | -void FSMC_SRAM_Init(void) | |
| 6 | -{ | |
| 7 | - GPIO_InitTypeDef GPIO_InitStructure; | |
| 8 | - FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; | |
| 9 | - FSMC_NORSRAMTimingInitTypeDef readWriteTiming; | |
| 10 | - | |
| 11 | - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE|RCC_AHB1Periph_GPIOF|RCC_AHB1Periph_GPIOG, ENABLE);//使能PD,PE,PF,PG时钟 | |
| 12 | - RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC,ENABLE);//使能FSMC时钟 | |
| 13 | - | |
| 14 | - GPIO_InitStructure.GPIO_Pin = DB2_Pin | DB3_Pin | FSMC_NOE_Pin | FSMC_NWE_Pin | FSMC_NE_Pin | |
| 15 | - | DB13_Pin | DB14_Pin | DB15_Pin | FSMC_A16_Pin | FSMC_A17_Pin | |
| 16 | - | FSMC_A18_Pin | DB0_Pin| DB1_Pin; | |
| 17 | - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出 | |
| 18 | - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出 | |
| 19 | - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz | |
| 20 | - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉 | |
| 21 | - GPIO_Init(GPIOD, &GPIO_InitStructure);//初始化 | |
| 22 | - | |
| 23 | - GPIO_InitStructure.GPIO_Pin = DB4_Pin | DB5_Pin | DB6_Pin | DB7_Pin | DB8_Pin | DB9_Pin | |
| 24 | - |DB10_Pin |DB11_Pin |DB12_Pin | FSMC_BL1_Pin | FSMC_BL0_Pin; | |
| 25 | - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出 | |
| 26 | - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出 | |
| 27 | - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz | |
| 28 | - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉 | |
| 29 | - GPIO_Init(GPIOE, &GPIO_InitStructure);//初始化 | |
| 30 | - | |
| 31 | - GPIO_InitStructure.GPIO_Pin = FSMC_A0_Pin | FSMC_A1_Pin | FSMC_A2_Pin | FSMC_A3_Pin | |
| 32 | - | FSMC_A4_Pin | FSMC_A5_Pin | FSMC_A6_Pin | FSMC_A7_Pin | |
| 33 | - | FSMC_A8_Pin | FSMC_A9_Pin ; | |
| 34 | - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出 | |
| 35 | - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出 | |
| 36 | - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz | |
| 37 | - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉 | |
| 38 | - GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化 | |
| 39 | - | |
| 40 | - GPIO_InitStructure.GPIO_Pin = FSMC_A10_Pin | FSMC_A11_Pin | FSMC_A12_Pin | FSMC_A13_Pin | |
| 41 | - | FSMC_A14_Pin | FSMC_A15_Pin ; | |
| 42 | - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出 | |
| 43 | - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出 | |
| 44 | - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz | |
| 45 | - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉 | |
| 46 | - GPIO_Init(GPIOG, &GPIO_InitStructure);//初始化 | |
| 47 | - | |
| 48 | - | |
| 49 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_FSMC);//PD0,AF12 | |
| 50 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_FSMC);//PD1,AF12 | |
| 51 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource4,GPIO_AF_FSMC); | |
| 52 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_FSMC); | |
| 53 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource8,GPIO_AF_FSMC); | |
| 54 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_FSMC); | |
| 55 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource10,GPIO_AF_FSMC); | |
| 56 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource11,GPIO_AF_FSMC); | |
| 57 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource12,GPIO_AF_FSMC); | |
| 58 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource13,GPIO_AF_FSMC); | |
| 59 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource14,GPIO_AF_FSMC); | |
| 60 | - GPIO_PinAFConfig(GPIOD,GPIO_PinSource15,GPIO_AF_FSMC);//PD15,AF12 | |
| 61 | - | |
| 62 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource0,GPIO_AF_FSMC); | |
| 63 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource1,GPIO_AF_FSMC); | |
| 64 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource7,GPIO_AF_FSMC);//PE7,AF12 | |
| 65 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource8,GPIO_AF_FSMC); | |
| 66 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_FSMC); | |
| 67 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource10,GPIO_AF_FSMC); | |
| 68 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_FSMC); | |
| 69 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource12,GPIO_AF_FSMC); | |
| 70 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource13,GPIO_AF_FSMC); | |
| 71 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource14,GPIO_AF_FSMC); | |
| 72 | - GPIO_PinAFConfig(GPIOE,GPIO_PinSource15,GPIO_AF_FSMC);//PE15,AF12 | |
| 73 | - | |
| 74 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource0,GPIO_AF_FSMC);//PF0,AF12 | |
| 75 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource1,GPIO_AF_FSMC);//PF1,AF12 | |
| 76 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource2,GPIO_AF_FSMC);//PF2,AF12 | |
| 77 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource3,GPIO_AF_FSMC);//PF3,AF12 | |
| 78 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource4,GPIO_AF_FSMC);//PF4,AF12 | |
| 79 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource5,GPIO_AF_FSMC);//PF5,AF12 | |
| 80 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource12,GPIO_AF_FSMC);//PF12,AF12 | |
| 81 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource13,GPIO_AF_FSMC);//PF13,AF12 | |
| 82 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource14,GPIO_AF_FSMC);//PF14,AF12 | |
| 83 | - GPIO_PinAFConfig(GPIOF,GPIO_PinSource15,GPIO_AF_FSMC);//PF15,AF12 | |
| 84 | - | |
| 85 | - GPIO_PinAFConfig(GPIOG,GPIO_PinSource0,GPIO_AF_FSMC); | |
| 86 | - GPIO_PinAFConfig(GPIOG,GPIO_PinSource1,GPIO_AF_FSMC); | |
| 87 | - GPIO_PinAFConfig(GPIOG,GPIO_PinSource2,GPIO_AF_FSMC); | |
| 88 | - GPIO_PinAFConfig(GPIOG,GPIO_PinSource3,GPIO_AF_FSMC); | |
| 89 | - GPIO_PinAFConfig(GPIOG,GPIO_PinSource4,GPIO_AF_FSMC); | |
| 90 | - GPIO_PinAFConfig(GPIOG,GPIO_PinSource5,GPIO_AF_FSMC); | |
| 91 | - GPIO_PinAFConfig(GPIOG,GPIO_PinSource10,GPIO_AF_FSMC); | |
| 92 | - | |
| 93 | - | |
| 94 | - readWriteTiming.FSMC_AddressSetupTime = 0x00; //地址建立时间(ADDSET)为1个HCLK 1/36M=27ns | |
| 95 | - readWriteTiming.FSMC_AddressHoldTime = 0x00; //地址保持时间(ADDHLD)模式A未用到 | |
| 96 | - readWriteTiming.FSMC_DataSetupTime = 0x08; ////数据保持时间(DATAST)为9个HCLK 6*9=54ns | |
| 97 | - readWriteTiming.FSMC_BusTurnAroundDuration = 0x00; | |
| 98 | - readWriteTiming.FSMC_CLKDivision = 0x00; | |
| 99 | - readWriteTiming.FSMC_DataLatency = 0x00; | |
| 100 | - readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A; //模式A | |
| 101 | - | |
| 102 | - | |
| 103 | - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3;// 这里我们使用NE3 ,也就对应BTCR[4],[5]。 | |
| 104 | - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; | |
| 105 | - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;// FSMC_MemoryType_SRAM; //SRAM | |
| 106 | - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;//存储器数据宽度为16bit | |
| 107 | - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;// FSMC_BurstAccessMode_Disable; | |
| 108 | - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; | |
| 109 | - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; | |
| 110 | - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; | |
| 111 | - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; | |
| 112 | - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; //存储器写使能 | |
| 113 | - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; | |
| 114 | - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; // 读写使用相同的时序 | |
| 115 | - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; | |
| 116 | - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &readWriteTiming; | |
| 117 | - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &readWriteTiming; //读写同样时序 | |
| 118 | - | |
| 119 | - FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure); //初始化FSMC配置 | |
| 120 | - | |
| 121 | - FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE); // 使能BANK1区域3 | |
| 122 | -} | |
| 123 | - | |
| 124 | - | |
| 125 | - | |
| 126 | - | |
| 127 | - | |
| 128 | - | |
| 129 | - | |
| 130 | - | |
| 131 | - | |
| 132 | - | |
| 133 | -void FSMC_SRAM_WriteBuffer(u8* pBuffer,u32 WriteAddr,u32 Num) | |
| 134 | -{ | |
| 135 | - while(Num--) | |
| 136 | - { | |
| 137 | - *(vu8*)(SRAM_EXT_ADDR+WriteAddr) = *pBuffer; | |
| 138 | - WriteAddr++; | |
| 139 | - pBuffer++; | |
| 140 | - } | |
| 141 | -} | |
| 142 | - | |
| 143 | - | |
| 144 | - | |
| 145 | - | |
| 146 | -void FSMC_SRAM_ReadBuffer(u8* pBuffer,u32 ReadAddr,u32 n) | |
| 147 | -{ | |
| 148 | - for(;n!=0;n--) | |
| 149 | - { | |
| 150 | - *pBuffer++=*(vu8*)(SRAM_EXT_ADDR+ReadAddr); | |
| 151 | - ReadAddr++; | |
| 152 | - } | |
| 153 | -} | |
| 154 | - | |
| 155 | - | |
| 156 | - | |
| 157 | - | |
| 158 | - | |
| 159 | - | |
| 160 | - | |
| 161 | - | |
| 162 | - |
SYSTEM/fsmc/fsmc.h deleted
SYSTEM/sys/dev.h
| 1 | 1 | #ifndef __DEV_H |
| 2 | 2 | #define __DEV_H |
| 3 | 3 | #include "stm32f4xx.h" |
| 4 | -#include "stm32f4xx_conf.h" | |
| 5 | - | |
| 6 | -#include "stdio.h" | |
| 7 | -#include "stdbool.h" | |
| 8 | -#include "stdlib.h" | |
| 9 | -#include "string.h" | |
| 10 | - | |
| 11 | - | |
| 12 | -//CH395A(USART6) | |
| 13 | -#define CH_TX_Pin GPIO_Pin_7 | |
| 14 | -#define CH_TX_Port GPIOC | |
| 15 | -#define CH_RX_Pin GPIO_Pin_6 | |
| 16 | -#define CH_RX_Port GPIOC | |
| 17 | - | |
| 18 | -//RS232(UART4) | |
| 19 | -#define U232_RX_Pin GPIO_Pin_11 | |
| 20 | -#define U232_RX_Port GPIOC | |
| 21 | -#define U232_TX_Pin GPIO_Pin_10 | |
| 22 | -#define U232_TX_Port GPIOC | |
| 23 | - | |
| 24 | -//RS485(UART5) | |
| 4 | +//#include "stm32f4xx_conf.h" | |
| 5 | +//#include "stdio.h" | |
| 6 | +//#include "stdbool.h" | |
| 7 | +//#include "stdlib.h" | |
| 8 | +//#include "string.h" | |
| 25 | 9 | #define U485_RX_Pin GPIO_Pin_2 |
| 26 | 10 | #define U485_RX_Port GPIOD |
| 27 | 11 | #define U485_TX_Pin GPIO_Pin_12 |
| 28 | 12 | #define U485_TX_Port GPIOC |
| 29 | -#define EN_485_Pin GPIO_Pin_3 | |
| 30 | -#define EN_485_Port GPIOD | |
| 31 | 13 | |
| 32 | -//DEBUG(USART1) | |
| 14 | +//MFGW01A1版本 | |
| 15 | +#define EN_485_Pin_1 GPIO_Pin_3 | |
| 16 | +#define EN_485_Port_1 GPIOD | |
| 17 | +//MFGW01B1以后版本 | |
| 18 | +#define EN_485_Pin_2 GPIO_Pin_10 | |
| 19 | +#define EN_485_Port_2 GPIOF | |
| 20 | + | |
| 21 | + | |
| 33 | 22 | #define DBG_RXD_Pin GPIO_Pin_9 |
| 34 | 23 | #define DBG_RXD_Port GPIOA |
| 35 | 24 | #define DBG_TXD_Pin GPIO_Pin_10 |
| 36 | 25 | #define DBG_TXD_Port GPIOA |
| 37 | 26 | |
| 38 | - | |
| 39 | - | |
| 40 | -//LED | |
| 41 | 27 | #define ARM_LED1_Pin GPIO_Pin_8 |
| 42 | 28 | #define ARM_LED1_Port GPIOA |
| 43 | 29 | #define ARM_LED2_Pin GPIO_Pin_8 |
| ... | ... | @@ -48,249 +34,12 @@ |
| 48 | 34 | #define ARM_LED4_Port GPIOG |
| 49 | 35 | |
| 50 | 36 | |
| 51 | - | |
| 52 | - | |
| 53 | -//DI、DO | |
| 54 | -#define IN1_Pin GPIO_Pin_0 | |
| 55 | -#define IN1_Port GPIOB | |
| 56 | -#define IN2_Pin GPIO_Pin_1 | |
| 57 | -#define IN2_Port GPIOB | |
| 58 | -#define CTRL1_Pin GPIO_Pin_2 | |
| 59 | -#define CTRL1_Port GPIOC | |
| 60 | -#define CTRL2_Pin GPIO_Pin_3 | |
| 61 | -#define CTRL2_Port GPIOC | |
| 62 | - | |
| 63 | - | |
| 64 | -//RMII | |
| 65 | -#define RMII_MDC_Pin GPIO_Pin_1 | |
| 66 | -#define RMII_MDC_Port GPIOC | |
| 67 | -#define RMII_CLK_Pin GPIO_Pin_1 | |
| 68 | -#define RMII_CLK_Port GPIOA | |
| 69 | -#define RMII_MDIO_Pin GPIO_Pin_2 | |
| 70 | -#define RMII_MDIO_Port GPIOA | |
| 71 | -#define RMII_CRS_Pin GPIO_Pin_7 | |
| 72 | -#define RMII_CRS_Port GPIOA | |
| 73 | -#define RMII_RXD0_Pin GPIO_Pin_4 | |
| 74 | -#define RMII_RXD0_Port GPIOC | |
| 75 | -#define RMII_RXD1_Pin GPIO_Pin_5 | |
| 76 | -#define RMII_RXD1_Port GPIOC | |
| 77 | -#define RMII_TXEN_Pin GPIO_Pin_11 | |
| 78 | -#define RMII_TXEN_Port GPIOG | |
| 79 | -#define RMII_TXD0_Pin GPIO_Pin_13 | |
| 80 | -#define RMII_TXD0_Port GPIOG | |
| 81 | -#define RMII_TXD1_Pin GPIO_Pin_14 | |
| 82 | -#define RMII_TXD1_Port GPIOG | |
| 83 | - | |
| 84 | - | |
| 85 | -//FSMC | |
| 86 | -#define FSMC_A0_Pin GPIO_Pin_0 | |
| 87 | -#define FSMC_A0_Port GPIOF | |
| 88 | -#define FSMC_A1_Pin GPIO_Pin_1 | |
| 89 | -#define FSMC_A1_Port GPIOF | |
| 90 | -#define FSMC_A2_Pin GPIO_Pin_2 | |
| 91 | -#define FSMC_A2_Port GPIOF | |
| 92 | -#define FSMC_A3_Pin GPIO_Pin_3 | |
| 93 | -#define FSMC_A3_Port GPIOF | |
| 94 | -#define FSMC_A4_Pin GPIO_Pin_4 | |
| 95 | -#define FSMC_A4_Port GPIOF | |
| 96 | -#define FSMC_A5_Pin GPIO_Pin_5 | |
| 97 | -#define FSMC_A5_Port GPIOF | |
| 98 | -#define FSMC_A6_Pin GPIO_Pin_12 | |
| 99 | -#define FSMC_A6_Port GPIOF | |
| 100 | -#define FSMC_A7_Pin GPIO_Pin_13 | |
| 101 | -#define FSMC_A7_Port GPIOF | |
| 102 | -#define FSMC_A8_Pin GPIO_Pin_14 | |
| 103 | -#define FSMC_A8_Port GPIOF | |
| 104 | -#define FSMC_A9_Pin GPIO_Pin_15 | |
| 105 | -#define FSMC_A9_Port GPIOF | |
| 106 | - | |
| 107 | -#define FSMC_A10_Pin GPIO_Pin_0 | |
| 108 | -#define FSMC_A10_Port GPIOG | |
| 109 | -#define FSMC_A11_Pin GPIO_Pin_1 | |
| 110 | -#define FSMC_A11_Port GPIOG | |
| 111 | -#define FSMC_A12_Pin GPIO_Pin_2 | |
| 112 | -#define FSMC_A12_Port GPIOG | |
| 113 | -#define FSMC_A13_Pin GPIO_Pin_3 | |
| 114 | -#define FSMC_A13_Port GPIOG | |
| 115 | -#define FSMC_A14_Pin GPIO_Pin_4 | |
| 116 | -#define FSMC_A14_Port GPIOG | |
| 117 | -#define FSMC_A15_Pin GPIO_Pin_5 | |
| 118 | -#define FSMC_A15_Port GPIOG | |
| 119 | - | |
| 120 | -#define FSMC_A16_Pin GPIO_Pin_11 | |
| 121 | -#define FSMC_A16_Port GPIOD | |
| 122 | -#define FSMC_A17_Pin GPIO_Pin_12 | |
| 123 | -#define FSMC_A17_Port GPIOD | |
| 124 | -#define FSMC_A18_Pin GPIO_Pin_13 | |
| 125 | -#define FSMC_A18_Port GPIOD | |
| 126 | -#define DB0_Pin GPIO_Pin_14 | |
| 127 | -#define DB0_Port GPIOD | |
| 128 | -#define DB1_Pin GPIO_Pin_15 | |
| 129 | -#define DB1_Port GPIOD | |
| 130 | - | |
| 131 | -#define DB2_Pin GPIO_Pin_0 | |
| 132 | -#define DB2_Port GPIOD | |
| 133 | -#define DB3_Pin GPIO_Pin_1 | |
| 134 | -#define DB3_Port GPIOD | |
| 135 | - | |
| 136 | -#define DB4_Pin GPIO_Pin_7 | |
| 137 | -#define DB4_Port GPIOE | |
| 138 | -#define DB5_Pin GPIO_Pin_8 | |
| 139 | -#define DB5_Port GPIOE | |
| 140 | -#define DB6_Pin GPIO_Pin_9 | |
| 141 | -#define DB6_Port GPIOE | |
| 142 | -#define DB7_Pin GPIO_Pin_10 | |
| 143 | -#define DB7_Port GPIOE | |
| 144 | -#define DB8_Pin GPIO_Pin_11 | |
| 145 | -#define DB8_Port GPIOE | |
| 146 | -#define DB9_Pin GPIO_Pin_12 | |
| 147 | -#define DB9_Port GPIOE | |
| 148 | -#define DB10_Pin GPIO_Pin_13 | |
| 149 | -#define DB10_Port GPIOE | |
| 150 | -#define DB11_Pin GPIO_Pin_14 | |
| 151 | -#define DB11_Port GPIOE | |
| 152 | -#define DB12_Pin GPIO_Pin_15 | |
| 153 | -#define DB12_Port GPIOE | |
| 154 | - | |
| 155 | -#define DB13_Pin GPIO_Pin_8 | |
| 156 | -#define DB13_Port GPIOD | |
| 157 | -#define DB14_Pin GPIO_Pin_9 | |
| 158 | -#define DB14_Port GPIOD | |
| 159 | -#define DB15_Pin GPIO_Pin_10 | |
| 160 | -#define DB15_Port GPIOD | |
| 161 | - | |
| 162 | -#define FSMC_BL1_Pin GPIO_Pin_1 | |
| 163 | -#define FSMC_BL1_Port GPIOE | |
| 164 | -#define FSMC_BL0_Pin GPIO_Pin_0 | |
| 165 | -#define FSMC_BL0_Port GPIOE | |
| 166 | - | |
| 167 | -#define FSMC_NE_Pin GPIO_Pin_7 | |
| 168 | -#define FSMC_NE_Port GPIOD | |
| 169 | -#define FSMC_NWE_Pin GPIO_Pin_5 | |
| 170 | -#define FSMC_NWE_Port GPIOD | |
| 171 | -#define FSMC_NOE_Pin GPIO_Pin_4 | |
| 172 | -#define FSMC_NOE_Port GPIOD | |
| 173 | - | |
| 174 | -#define PHY_RESET_Pin GPIO_Pin_0 | |
| 175 | -#define PHY_RESET_Port GPIOC | |
| 176 | - | |
| 177 | - | |
| 178 | - | |
| 179 | -//IIC(用于AI) | |
| 180 | -#define SDA_Pin GPIO_Pin_7 | |
| 181 | -#define SDA_Port GPIOB | |
| 182 | -#define SCL_Pin GPIO_Pin_6 | |
| 183 | -#define SCL_Port GPIOB | |
| 184 | - | |
| 185 | - | |
| 186 | -//SPI(外部EEPROM) | |
| 187 | -#define SSPI1_MOSI_Pin GPIO_Pin_5 | |
| 188 | -#define SSPI1_MOSI_Port GBIOB | |
| 189 | -#define SSPI1_MISO_Pin GPIO_Pin_4 | |
| 190 | -#define SSPI1_MISO_Port GBIOB | |
| 191 | -#define SSPI1_SCK_Pin GPIO_Pin_3 | |
| 192 | -#define SSPI1_SLK_Port GBIOB | |
| 193 | -#define SSPI1_SSEL_Pin GPIO_Pin_15 | |
| 194 | -#define SSPI1_SSEL_Port GBIOG | |
| 195 | - | |
| 196 | -//CH395Q | |
| 197 | -#define CH_MOSI_Pin GPIO_Pin_15 | |
| 198 | -#define CH_MOSI_Port GPIOB | |
| 199 | -#define CH_MISO_Pin GPIO_Pin_14 | |
| 200 | -#define CH_MISO_Port GPIOB | |
| 201 | -#define CH_SCK_Pin GPIO_Pin_13 | |
| 202 | -#define CH_SCK_Port GPIOB | |
| 203 | -#define CH_CS_Pin GPIO_Pin_12 | |
| 204 | -#define CH_CS_Port GPIOB | |
| 205 | - | |
| 206 | - | |
| 207 | -//EC20 | |
| 208 | -#define GPRS_RST_Pin GPIO_Pin_9 | |
| 209 | -#define GPRS_RST_Port GPIOB | |
| 210 | -#define GPRS_PWR_Pin GPIO_Pin_8 | |
| 211 | -#define GPRS_PWR_Port GPIOB | |
| 212 | -#define GPRS_RX_Pin GPIO_Pin_10 | |
| 213 | -#define GPRS_RX_Port GPIOB | |
| 214 | -#define GPRS_TX_Pin GPIO_Pin_11 | |
| 215 | -#define GPRS_TX_Port GPIOB | |
| 216 | - | |
| 217 | - | |
| 218 | -//CH395Q | |
| 219 | -#define DATA_Pin GPIO_Pin_2 | |
| 220 | -#define DATA_Port GPIOE | |
| 221 | -#define CH_RST_Pin GPIO_Pin_9 | |
| 222 | -#define CH_RST_Port GPIOC | |
| 223 | -#define CH_IRQ_Pin GPIO_Pin_8 | |
| 224 | -#define CH_IRQ_Port GPIOC | |
| 225 | -#define CH_TX_Pin GPIO_Pin_7 | |
| 226 | -#define CH_TX_Port GPIOC | |
| 227 | -#define CH_RX_Pin GPIO_Pin_6 | |
| 228 | -#define CH_RX_Port GPIOC | |
| 229 | - | |
| 230 | - | |
| 231 | -//电源开关 | |
| 232 | -typedef enum power_switch | |
| 233 | -{ | |
| 234 | - OFF, | |
| 235 | - ON | |
| 236 | -}power_switch; | |
| 237 | - | |
| 238 | - | |
| 239 | - | |
| 240 | - | |
| 241 | -#define IP_MAX_LENGTH 30 | |
| 242 | -#define GATEWAY_ID_MAX_LENGTH 25 | |
| 243 | -#define USERNAME_MAX_LENGTH 15 | |
| 244 | -#define PASSWORD_MAX_LENGTH 15 | |
| 245 | -#define CLIENT_ID_MAX_LENGTH 26 | |
| 246 | - | |
| 247 | -typedef struct mqtt_server | |
| 248 | -{ | |
| 249 | - char ip[IP_MAX_LENGTH]; | |
| 250 | - char port[6]; | |
| 251 | - char gateway_id[GATEWAY_ID_MAX_LENGTH]; | |
| 252 | - char client_id[CLIENT_ID_MAX_LENGTH]; | |
| 253 | - | |
| 254 | - char user_name[USERNAME_MAX_LENGTH]; | |
| 255 | - char password[PASSWORD_MAX_LENGTH]; | |
| 256 | - short iot_id; | |
| 257 | -}mqtt_server; | |
| 258 | - | |
| 259 | - | |
| 260 | - | |
| 261 | -typedef struct Gateway_struct | |
| 262 | -{ | |
| 263 | - uint8_t dev_id; | |
| 264 | - uint32_t mapping_id; | |
| 265 | - | |
| 266 | - char soft_version[9]; //软件版本V01.02.03 | |
| 267 | - uint32_t temperature; //芯片温度 | |
| 268 | - uint32_t firmware_length; | |
| 269 | - uint8_t net1_mac[6]; //网口1 Mac地址 | |
| 270 | - uint8_t net2_mac[6]; //网口2 Mac地址 | |
| 271 | - uint8_t ota_server_url[80]; | |
| 272 | - uint8_t ntp_server[30]; | |
| 273 | - | |
| 274 | - mqtt_server mqtt_broker; | |
| 275 | - | |
| 276 | -}Gateway_struct; | |
| 277 | - | |
| 278 | -extern Gateway_struct dev_param; | |
| 279 | - | |
| 280 | - | |
| 281 | - | |
| 282 | 37 | //以下为汇编函数 |
| 283 | 38 | void WFI_SET(void); //执行WFI指令 |
| 284 | 39 | void INTX_DISABLE(void); //关闭所有中断 |
| 285 | 40 | void INTX_ENABLE(void); //开启所有中断 |
| 286 | 41 | void MSR_MSP(u32 addr); //设置堆栈地址 |
| 287 | 42 | |
| 288 | - | |
| 289 | - | |
| 290 | -#define SRAM_INT_ADDR 0x20000000 //Internal SRAM基址 | |
| 291 | -#define SRAM_CCM_ADDR 0x10000000 //CCM基址 | |
| 292 | -#define SRAM_EXT_ADDR 0x68000000 //External SRAM基址 | |
| 293 | - | |
| 294 | 43 | #define BOOTLOADER_RUN 0x1234ABCD |
| 295 | 44 | #define BOOTLOADER_LOAD 0x4567AABB |
| 296 | 45 | #define BOOTLOADER_DEFAULT 0xFFFFFFFF |
| ... | ... | @@ -301,17 +50,17 @@ void MSR_MSP(u32 addr); //设置堆栈地址 |
| 301 | 50 | #define APP_LOAD_ADDR 0x08040000 //更新 |
| 302 | 51 | |
| 303 | 52 | /********************************************************** |
| 304 | -* SECTOR | BLOCK BASE ADDR | SIZE | |
| 53 | +* SECTOR | BLOCK BASE ADDR | SIZE | |
| 305 | 54 | * |
| 306 | 55 | * sector0 | 0x0800 0000~0x0800 3FFF | 16K //BOOTLOADER |
| 307 | 56 | * |
| 308 | -* sector1 | 0x0800 4000~0x0800 7FFF | 16K //FLAG | |
| 57 | +* sector1 | 0x0800 4000~0x0800 7FFF | 16K //FLAG | |
| 309 | 58 | * |
| 310 | 59 | * sector2 | 0x0800 8000~0x0800 BFFF | 16K //PARAM |
| 311 | 60 | * |
| 312 | 61 | * sector3 | 0x0800 C000~0x0800 FFFF | 16K |
| 313 | 62 | * |
| 314 | -* sector4 | 0x0801 0000~0x0801 FFFF | 64K //RUN APP | |
| 63 | +* sector4 | 0x0801 0000~0x0801 FFFF | 64K //RUN APP | |
| 315 | 64 | * |
| 316 | 65 | * sector5 | 0x0802 0000~0x0803 FFFF | 128K |
| 317 | 66 | * |
| ... | ... | @@ -319,8 +68,6 @@ void MSR_MSP(u32 addr); //设置堆栈地址 |
| 319 | 68 | * |
| 320 | 69 | * sector7 | 0x0806 0000~0x0807 FFFF | 128K |
| 321 | 70 | *************************************************************/ |
| 322 | - | |
| 323 | - | |
| 324 | 71 | #endif |
| 325 | 72 | |
| 326 | 73 | ... | ... |
SYSTEM/usart/debug.c
0 → 100644
| 1 | +#include "stdio.h" | |
| 2 | +#include "usart1.h" | |
| 3 | +#include "uart5.h" | |
| 4 | +#if 1 | |
| 5 | +#pragma import(__use_no_semihosting) | |
| 6 | +struct __FILE | |
| 7 | +{ | |
| 8 | + int handle; | |
| 9 | +}; | |
| 10 | + | |
| 11 | +FILE __stdout; | |
| 12 | +void _sys_exit(int x) | |
| 13 | +{ | |
| 14 | + x = x; | |
| 15 | +} | |
| 16 | + | |
| 17 | +#endif | |
| 18 | + | |
| 19 | +int fputc(int ch, FILE *f) //ÖØ¶¨Òåfputcº¯Êý | |
| 20 | +{ | |
| 21 | + usart1_send_byte((uint8_t) ch); | |
| 22 | + uart5_send_byte((uint8_t) ch); | |
| 23 | + return ch; | |
| 24 | +} | ... | ... |
SYSTEM/usart/timer3.c
0 → 100644
| 1 | +#include "timer3.h" | |
| 2 | +Uart_Timer timer3; | |
| 3 | +static void TIM3_Init(uint16_t arr,uint16_t psc)//定时器2中断初始化 | |
| 4 | +{ | |
| 5 | + TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; | |
| 6 | + NVIC_InitTypeDef NVIC_InitStructure; | |
| 7 | + | |
| 8 | + RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);//TIM3时钟使能 | |
| 9 | + | |
| 10 | + TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 | |
| 11 | + TIM_TimeBaseStructure.TIM_Prescaler = psc; //设置用来作为TIMx时钟频率除数的预分频值 | |
| 12 | + TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim | |
| 13 | + TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式 | |
| 14 | + TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); | |
| 15 | + | |
| 16 | + TIM_ClearFlag(TIM3, TIM_FLAG_Update);//解决了定时器初始化后立即进入中断的bug(无论是否定时器启动)!!!!!!!!!!!!!!!!!!!! | |
| 17 | + | |
| 18 | + TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中断,允许更新中断 | |
| 19 | + | |
| 20 | + NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; | |
| 21 | + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; //抢占优先级0 | |
| 22 | + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; //子优先级2 | |
| 23 | + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能 | |
| 24 | + NVIC_Init(&NVIC_InitStructure); | |
| 25 | + | |
| 26 | + TIM_Cmd(TIM3, DISABLE); //关闭TIM3 | |
| 27 | +} | |
| 28 | +static void TIM3_Start(void) | |
| 29 | +{ | |
| 30 | + TIM_Cmd(TIM3, ENABLE); //关闭TIM3 | |
| 31 | +} | |
| 32 | +static void TIM3_Stop(void) | |
| 33 | +{ | |
| 34 | + TIM_ClearITPendingBit(TIM3, TIM_IT_Update);//清除TIM3更新中断标志 | |
| 35 | + TIM_Cmd(TIM3, DISABLE); //关闭TIM3 | |
| 36 | +} | |
| 37 | +static void TIM3_Clear(void) | |
| 38 | +{ | |
| 39 | + TIM_SetCounter(TIM3,0);//计数器清空 | |
| 40 | +} | |
| 41 | +void timer3_init(void (*callback)()) | |
| 42 | +{ | |
| 43 | + timer3.callback =callback; | |
| 44 | + timer3.start=TIM3_Start; | |
| 45 | + timer3.stop=TIM3_Stop; | |
| 46 | + timer3.timeclear=TIM3_Clear; | |
| 47 | + | |
| 48 | + TIM3_Init(10*20-1,7200-1); //设置最大超时时间为40ms | |
| 49 | +} | |
| 50 | +void TIM3_IRQHandler(void)//定时器4中断服务程序 | |
| 51 | +{ | |
| 52 | + if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)//是更新中断 | |
| 53 | + { | |
| 54 | + timer3.stop(); | |
| 55 | + timer3.callback(); | |
| 56 | + } | |
| 57 | + else | |
| 58 | + { | |
| 59 | + } | |
| 60 | +} | |
| 61 | + | |
| 62 | + | ... | ... |
SYSTEM/usart/timer3.h
0 → 100644
SYSTEM/usart/timer4.c
0 → 100644
| 1 | +#include "timer4.h" | |
| 2 | +Uart_Timer timer4; | |
| 3 | +static void TIM4_Init(uint16_t arr,uint16_t psc)//定时器2中断初始化 | |
| 4 | +{ | |
| 5 | + TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; | |
| 6 | + NVIC_InitTypeDef NVIC_InitStructure; | |
| 7 | + | |
| 8 | + RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);//TIM4时钟使能 | |
| 9 | + | |
| 10 | + TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值 | |
| 11 | + TIM_TimeBaseStructure.TIM_Prescaler = psc; //设置用来作为TIMx时钟频率除数的预分频值 | |
| 12 | + TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim | |
| 13 | + TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式 | |
| 14 | + TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); | |
| 15 | + | |
| 16 | + TIM_ClearFlag(TIM4, TIM_FLAG_Update);//解决了定时器初始化后立即进入中断的bug(无论是否定时器启动)!!!!!!!!!!!!!!!!!!!! | |
| 17 | + | |
| 18 | + TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE ); //使能指定的TIM4中断,允许更新中断 | |
| 19 | + | |
| 20 | + NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn; | |
| 21 | + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; //抢占优先级0 | |
| 22 | + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; //子优先级2 | |
| 23 | + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能 | |
| 24 | + NVIC_Init(&NVIC_InitStructure); | |
| 25 | + | |
| 26 | + TIM_Cmd(TIM4, DISABLE); //关闭TIM4 | |
| 27 | +} | |
| 28 | +static void TIM4_Start(void) | |
| 29 | +{ | |
| 30 | + TIM_Cmd(TIM4, ENABLE); //关闭TIM4 | |
| 31 | +} | |
| 32 | +static void TIM4_Stop(void) | |
| 33 | +{ | |
| 34 | + TIM_ClearITPendingBit(TIM4, TIM_IT_Update);//清除TIM4更新中断标志 | |
| 35 | + TIM_Cmd(TIM4, DISABLE); //关闭TIM4 | |
| 36 | +} | |
| 37 | +static void TIM4_Clear(void) | |
| 38 | +{ | |
| 39 | + TIM_SetCounter(TIM4,0);//计数器清空 | |
| 40 | +} | |
| 41 | +void timer4_init(void (*callback)()) | |
| 42 | +{ | |
| 43 | + timer4.callback =callback; | |
| 44 | + timer4.start=TIM4_Start; | |
| 45 | + timer4.stop=TIM4_Stop; | |
| 46 | + timer4.timeclear=TIM4_Clear; | |
| 47 | + | |
| 48 | + TIM4_Init(10*20-1,7200-1); //设置最大超时时间为40ms | |
| 49 | +} | |
| 50 | +void TIM4_IRQHandler(void)//定时器4中断服务程序 | |
| 51 | +{ | |
| 52 | + if(TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET)//是更新中断 | |
| 53 | + { | |
| 54 | + timer4.stop(); | |
| 55 | + timer4.callback(); | |
| 56 | + } | |
| 57 | + else | |
| 58 | + { | |
| 59 | + } | |
| 60 | +} | |
| 61 | + | |
| 62 | + | ... | ... |
SYSTEM/usart/timer4.h
0 → 100644
SYSTEM/usart/uart.h
0 → 100644
| 1 | +#ifndef __UART_H | |
| 2 | +#define __UART_H | |
| 3 | +#include "stdint.h" | |
| 4 | +#define RX_END_BYTE_LEN 2 | |
| 5 | +#define RX_END_BYTE_1 0x0D | |
| 6 | +#define RX_END_BYTE_2 0x0A | |
| 7 | + | |
| 8 | +typedef enum | |
| 9 | +{ | |
| 10 | + RX_STA_RST = 0x00, | |
| 11 | + RX_RECEIVING =0x01, | |
| 12 | + RX_FINISHED =0x02, | |
| 13 | +}UART_RX_STATUS; | |
| 14 | + | |
| 15 | +typedef enum | |
| 16 | +{ | |
| 17 | + TX_MODE = 0x00, | |
| 18 | + RX_MODE = 0x01, | |
| 19 | +}UART_TX_STATUS; | |
| 20 | + | |
| 21 | +typedef enum | |
| 22 | +{ | |
| 23 | + BAUDRATE_4800 = 4800, | |
| 24 | + BAUDRATE_9600 = 9600, | |
| 25 | + BAUDRATE_19200 = 19200, | |
| 26 | + BAUDRATE_38400 = 38400, | |
| 27 | + BAUDRATE_57600 = 57600, | |
| 28 | + BAUDRATE_115200 = 115200, | |
| 29 | +}BaudRate_Value; | |
| 30 | +typedef struct uart_timer{ | |
| 31 | + void (* start)(); | |
| 32 | + void (* stop)(); | |
| 33 | + void (* timeclear)(); | |
| 34 | + void (* callback)(); | |
| 35 | +} Uart_Timer; | |
| 36 | + | |
| 37 | +typedef struct uart_type{ | |
| 38 | + | |
| 39 | + uint8_t * rx_buf; | |
| 40 | + uint16_t rx_len; | |
| 41 | + uint8_t * tx_buf; | |
| 42 | + uint16_t tx_len; | |
| 43 | + UART_RX_STATUS rx_status; | |
| 44 | + Uart_Timer *rxtimer; | |
| 45 | +} Uart_Type; | |
| 46 | + | |
| 47 | +#endif | |
| 48 | + | ... | ... |
SYSTEM/usart/uart5.c
0 → 100644
| 1 | +#include "uart5.h" | |
| 2 | +#include "dev.h" | |
| 3 | +#include "delay.h" | |
| 4 | +#include "string.h" | |
| 5 | +#include "timer4.h" | |
| 6 | + | |
| 7 | +#define UART5_RX_MAX 40 | |
| 8 | +#define UART5_TX_MAX 40 | |
| 9 | +uint8_t UART5_RX_BUF[UART5_RX_MAX] = {0}; //接收缓存区 | |
| 10 | +uint8_t UART5_TX_BUF[UART5_TX_MAX] = {0}; //发送缓存区 | |
| 11 | + | |
| 12 | +Uart_Type u5; | |
| 13 | +void uart5_init(void) | |
| 14 | +{ | |
| 15 | + GPIO_InitTypeDef GPIO_InitStructure; | |
| 16 | + USART_InitTypeDef USART_InitStructure; | |
| 17 | + NVIC_InitTypeDef NVIC_InitStructure; | |
| 18 | + | |
| 19 | + memset(UART5_RX_BUF,0,UART5_RX_MAX); | |
| 20 | + memset(UART5_TX_BUF,0,UART5_TX_MAX); | |
| 21 | + | |
| 22 | + u5.rx_buf=UART5_RX_BUF; | |
| 23 | + u5.tx_buf=UART5_TX_BUF; | |
| 24 | + u5.rx_len=0; | |
| 25 | + u5.tx_len=0; | |
| 26 | + u5.rx_status = RX_STA_RST; | |
| 27 | + u5.rxtimer = &timer4; | |
| 28 | + | |
| 29 | + timer4_init(uart5_rx_finished); | |
| 30 | + | |
| 31 | + | |
| 32 | + RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOF,ENABLE); | |
| 33 | + RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART5,ENABLE); | |
| 34 | + | |
| 35 | + GPIO_PinAFConfig(U485_RX_Port,GPIO_PinSource2,GPIO_AF_UART5); | |
| 36 | + GPIO_PinAFConfig(U485_TX_Port,GPIO_PinSource12,GPIO_AF_UART5); | |
| 37 | + | |
| 38 | + GPIO_InitStructure.GPIO_Pin = U485_RX_Pin; | |
| 39 | + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; | |
| 40 | + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; | |
| 41 | + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; | |
| 42 | + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; | |
| 43 | + GPIO_Init(U485_RX_Port,&GPIO_InitStructure); | |
| 44 | + | |
| 45 | + GPIO_InitStructure.GPIO_Pin = U485_TX_Pin; | |
| 46 | + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; | |
| 47 | + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; | |
| 48 | + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; | |
| 49 | + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; | |
| 50 | + GPIO_Init(U485_TX_Port,&GPIO_InitStructure); | |
| 51 | + | |
| 52 | + GPIO_InitStructure.GPIO_Pin = EN_485_Pin_1; | |
| 53 | + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; | |
| 54 | + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; | |
| 55 | + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; | |
| 56 | + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; | |
| 57 | + GPIO_Init(EN_485_Port_1,&GPIO_InitStructure); | |
| 58 | + | |
| 59 | + GPIO_InitStructure.GPIO_Pin = EN_485_Pin_2; | |
| 60 | + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; | |
| 61 | + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; | |
| 62 | + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; | |
| 63 | + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; | |
| 64 | + GPIO_Init(EN_485_Port_2,&GPIO_InitStructure); | |
| 65 | + | |
| 66 | + USART_InitStructure.USART_BaudRate = U5_BAUDRETE; | |
| 67 | + USART_InitStructure.USART_WordLength = USART_WordLength_8b; | |
| 68 | + USART_InitStructure.USART_StopBits = USART_StopBits_1; | |
| 69 | + USART_InitStructure.USART_Parity = USART_Parity_No; | |
| 70 | + USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; | |
| 71 | + USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; | |
| 72 | + USART_Init(UART5, &USART_InitStructure); | |
| 73 | + | |
| 74 | + USART_Cmd(UART5, ENABLE); | |
| 75 | + | |
| 76 | + USART_ITConfig(UART5, USART_IT_RXNE, ENABLE); | |
| 77 | + | |
| 78 | + NVIC_InitStructure.NVIC_IRQChannel = UART5_IRQn; | |
| 79 | + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 5; | |
| 80 | + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; | |
| 81 | + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; | |
| 82 | + NVIC_Init(&NVIC_InitStructure); | |
| 83 | +} | |
| 84 | +void uart5_rx_mode(void) | |
| 85 | +{ | |
| 86 | + GPIO_ResetBits(EN_485_Port_1,EN_485_Pin_1); | |
| 87 | + GPIO_ResetBits(EN_485_Port_2,EN_485_Pin_2); | |
| 88 | +} | |
| 89 | +void uart5_tx_mode(void) | |
| 90 | +{ | |
| 91 | + GPIO_SetBits(EN_485_Port_1,EN_485_Pin_1); | |
| 92 | + GPIO_SetBits(EN_485_Port_2,EN_485_Pin_2); | |
| 93 | + delay_ms(1); | |
| 94 | +} | |
| 95 | +void uart5_send_byte(uint8_t one_byte) | |
| 96 | +{ | |
| 97 | + uart5_tx_mode(); | |
| 98 | + while(USART_GetFlagStatus(UART5,USART_FLAG_TC)!=SET);//等待发送结束 | |
| 99 | + USART_SendData(UART5,one_byte); //向串口3发送数据 | |
| 100 | + uart5_rx_mode(); | |
| 101 | +} | |
| 102 | +void uart5_send_bytes(uint8_t* buf,uint16_t length) | |
| 103 | +{ | |
| 104 | + for(uint16_t i=0;i<length;i++) | |
| 105 | + { | |
| 106 | + uart5_send_byte(buf[i]); | |
| 107 | + } | |
| 108 | +} | |
| 109 | +void uart5_rx_reset(void) | |
| 110 | +{ | |
| 111 | + u5.rx_len=0; | |
| 112 | + memset(u5.rx_buf,0,UART5_RX_MAX);//接收缓存区清零 | |
| 113 | + u5.rx_status = RX_STA_RST; | |
| 114 | +} | |
| 115 | +void uart5_rx_receiving(void) | |
| 116 | +{ | |
| 117 | + u5.rxtimer->timeclear(); | |
| 118 | + u5.rxtimer->start(); | |
| 119 | + u5.rx_status = RX_RECEIVING; | |
| 120 | +} | |
| 121 | +void uart5_rx_finished(void) | |
| 122 | +{ | |
| 123 | + u5.rxtimer->stop(); | |
| 124 | + u5.rx_status=RX_FINISHED; | |
| 125 | +} | |
| 126 | +void UART5_IRQHandler(void)//串口2中断服务程序 | |
| 127 | +{ | |
| 128 | + if(USART_GetITStatus(UART5, USART_IT_RXNE) != RESET)//接收中断 | |
| 129 | + { | |
| 130 | + uint8_t res; | |
| 131 | + res = USART_ReceiveData(UART5);//读取接收到的数据 | |
| 132 | + switch(u5.rx_status) | |
| 133 | + { | |
| 134 | + case RX_STA_RST: | |
| 135 | + { | |
| 136 | + u5.rx_len = 0; | |
| 137 | + u5.rx_buf[u5.rx_len++] = res;//记录接收到的值 | |
| 138 | + uart5_rx_receiving(); | |
| 139 | + } break; | |
| 140 | + case RX_RECEIVING: | |
| 141 | + { | |
| 142 | + u5.rx_buf[u5.rx_len++] = res;//记录接收到的值 | |
| 143 | + if(u5.rx_len==UART5_RX_MAX) | |
| 144 | + { | |
| 145 | + uart5_rx_finished(); | |
| 146 | + } | |
| 147 | + else | |
| 148 | + { | |
| 149 | + uart5_rx_receiving(); | |
| 150 | + } | |
| 151 | + } break; | |
| 152 | + case RX_FINISHED: | |
| 153 | + { | |
| 154 | + } break; | |
| 155 | + default: break; | |
| 156 | + } | |
| 157 | + } | |
| 158 | + else | |
| 159 | + { | |
| 160 | + | |
| 161 | + } | |
| 162 | +} | ... | ... |
SYSTEM/usart/uart5.h
0 → 100644
| 1 | +#ifndef __UART5_H | |
| 2 | +#define __UART5_H | |
| 3 | + | |
| 4 | +#include "stdint.h" | |
| 5 | +#include "uart.h" | |
| 6 | +extern Uart_Type u5; | |
| 7 | +#define U5_BAUDRETE 115200 | |
| 8 | +typedef enum | |
| 9 | +{ | |
| 10 | + RS485_WRITE = 0, | |
| 11 | + RS485_READ | |
| 12 | +}Rs485_Txrx_Type; | |
| 13 | + | |
| 14 | +void uart5_send_byte(uint8_t one_byte); | |
| 15 | +void uart5_send_bytes(uint8_t* buf,uint16_t length); | |
| 16 | +void uart5_rx_reset(void); | |
| 17 | +void uart5_rx_receiving(void); | |
| 18 | +void uart5_rx_finished(void); | |
| 19 | +void uart5_init(void); | |
| 20 | + | |
| 21 | +#endif | |
| 22 | + | |
| 23 | + | ... | ... |
SYSTEM/usart/usart.c deleted
| 1 | -#include "dev.h" | |
| 2 | -#include "usart.h" | |
| 3 | -#include "timer.h" | |
| 4 | -#include "delay.h" | |
| 5 | - | |
| 6 | -//加入以下代码,支持printf函数,而不需要选择use MicroLIB | |
| 7 | -#if 11 | |
| 8 | -#pragma import(__use_no_semihosting) | |
| 9 | -//标准库需要的支持函数 | |
| 10 | -struct __FILE | |
| 11 | -{ | |
| 12 | - int handle; | |
| 13 | -}; | |
| 14 | - | |
| 15 | -FILE __stdout; | |
| 16 | -//定义_sys_exit()以避免使用半主机模式 | |
| 17 | -void _sys_exit(int x) | |
| 18 | -{ | |
| 19 | - x = x; | |
| 20 | -} | |
| 21 | - | |
| 22 | -#endif | |
| 23 | -int fputc(int ch, FILE *f) //重定义fputc函数 | |
| 24 | -{ | |
| 25 | - while((USART1->SR&0X40)==0);//循环发送,直到发送完毕 | |
| 26 | - USART1->DR = (uint8_t) ch; | |
| 27 | - return ch; | |
| 28 | -} | |
| 29 | - | |
| 30 | - | |
| 31 | - | |
| 32 | - | |
| 33 | -void USART1_Config(uint32_t bound) | |
| 34 | -{ | |
| 35 | - GPIO_InitTypeDef GPIO_InitStructure; | |
| 36 | - USART_InitTypeDef USART_InitStructure; | |
| 37 | - NVIC_InitTypeDef NVIC_InitStructure; | |
| 38 | - | |
| 39 | - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //使能GPIOA时钟 | |
| 40 | - RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //使能USART1时钟 | |
| 41 | - | |
| 42 | - GPIO_PinAFConfig(DBG_RXD_Port,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9复用为USART1 | |
| 43 | - GPIO_PinAFConfig(DBG_TXD_Port,GPIO_PinSource10,GPIO_AF_USART1); //GPIOA10复用为USART1 | |
| 44 | - | |
| 45 | - GPIO_InitStructure.GPIO_Pin = DBG_RXD_Pin | DBG_TXD_Pin; //GPIOA9与GPIOA10 | |
| 46 | - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用功能 | |
| 47 | - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHz | |
| 48 | - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出 | |
| 49 | - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉 | |
| 50 | - GPIO_Init(DBG_RXD_Port,&GPIO_InitStructure); //初始化 | |
| 51 | - | |
| 52 | - USART_InitStructure.USART_BaudRate = bound; //波特率设置 | |
| 53 | - USART_InitStructure.USART_WordLength = USART_WordLength_8b; //字长为8位数据格式 | |
| 54 | - USART_InitStructure.USART_StopBits = USART_StopBits_1; //一个停止位 | |
| 55 | - USART_InitStructure.USART_Parity = USART_Parity_No; //无奇偶校验位 | |
| 56 | - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制 | |
| 57 | - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //收发模式 | |
| 58 | - USART_Init(USART1, &USART_InitStructure); //初始化串口1 | |
| 59 | - | |
| 60 | - USART_Cmd(USART1, ENABLE); //使能串口1 | |
| 61 | - | |
| 62 | - USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //开启相关中断 | |
| 63 | - | |
| 64 | - NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //串口1中断通道 | |
| 65 | - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 3; //抢占优先级3 | |
| 66 | - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //子优先级3 | |
| 67 | - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能 | |
| 68 | - NVIC_Init(&NVIC_InitStructure); //初始化VIC寄存器 | |
| 69 | -} | |
| 70 | - | |
| 71 | - | |
| 72 | - | |
| 73 | - | |
| 74 | -/**************************************************** | |
| 75 | -*@brief: 串口5配置 | |
| 76 | -*@param: uart 串口指针 | |
| 77 | -* bound 串口波特率 | |
| 78 | -*@retval: 无返回值 | |
| 79 | -*****************************************************/ | |
| 80 | -void UART5_Config(uint32_t bound) | |
| 81 | -{ | |
| 82 | - GPIO_InitTypeDef GPIO_InitStructure; | |
| 83 | - USART_InitTypeDef USART_InitStructure; | |
| 84 | - NVIC_InitTypeDef NVIC_InitStructure; | |
| 85 | - | |
| 86 | - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD,ENABLE); | |
| 87 | - RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART5,ENABLE); | |
| 88 | - | |
| 89 | - GPIO_PinAFConfig(U485_RX_Port,GPIO_PinSource2,GPIO_AF_UART5); | |
| 90 | - GPIO_PinAFConfig(U485_TX_Port,GPIO_PinSource12,GPIO_AF_UART5); | |
| 91 | - | |
| 92 | - GPIO_InitStructure.GPIO_Pin = U485_RX_Pin; | |
| 93 | - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; | |
| 94 | - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; | |
| 95 | - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; | |
| 96 | - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; | |
| 97 | - GPIO_Init(U485_RX_Port,&GPIO_InitStructure); | |
| 98 | - | |
| 99 | - GPIO_InitStructure.GPIO_Pin = U485_TX_Pin; | |
| 100 | - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; | |
| 101 | - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; | |
| 102 | - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; | |
| 103 | - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; | |
| 104 | - GPIO_Init(U485_TX_Port,&GPIO_InitStructure); | |
| 105 | - | |
| 106 | - GPIO_InitStructure.GPIO_Pin = EN_485_Pin; | |
| 107 | - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; | |
| 108 | - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; | |
| 109 | - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; | |
| 110 | - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; | |
| 111 | - GPIO_Init(EN_485_Port,&GPIO_InitStructure); | |
| 112 | - | |
| 113 | - UART5_Mode(RS485_READ); | |
| 114 | - | |
| 115 | - USART_InitStructure.USART_BaudRate = bound; | |
| 116 | - USART_InitStructure.USART_WordLength = USART_WordLength_8b; | |
| 117 | - USART_InitStructure.USART_StopBits = USART_StopBits_1; | |
| 118 | - USART_InitStructure.USART_Parity = USART_Parity_No; | |
| 119 | - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; | |
| 120 | - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; | |
| 121 | - USART_Init(UART5, &USART_InitStructure); | |
| 122 | - | |
| 123 | - USART_Cmd(UART5, ENABLE); | |
| 124 | - | |
| 125 | - USART_ITConfig(UART5, USART_IT_RXNE, ENABLE); | |
| 126 | - | |
| 127 | - NVIC_InitStructure.NVIC_IRQChannel = UART5_IRQn; | |
| 128 | - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 5; | |
| 129 | - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; | |
| 130 | - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; | |
| 131 | - NVIC_Init(&NVIC_InitStructure); | |
| 132 | -} | |
| 133 | - | |
| 134 | - | |
| 135 | - | |
| 136 | - | |
| 137 | -u32 UART_RX_CNT = 0; | |
| 138 | -u8 UART_RX_BUF[USART_REC_LEN] __attribute__ ((at(SRAM_EXT_ADDR))); //EXTI SRAM 200k | |
| 139 | -void UART5_IRQHandler(void) | |
| 140 | -{ | |
| 141 | - if(USART_GetITStatus(UART5,USART_IT_RXNE) != RESET) | |
| 142 | - { | |
| 143 | - UART_RX_BUF[UART_RX_CNT++] = UART5->DR; | |
| 144 | - TIM3->CNT = 0; | |
| 145 | - | |
| 146 | - TIM_Cmd(TIM3,ENABLE); | |
| 147 | - | |
| 148 | - if(UART_RX_CNT == USART_REC_LEN) //防止溢出 | |
| 149 | - { | |
| 150 | - UART_RX_CNT = 0; | |
| 151 | - } | |
| 152 | - } | |
| 153 | - USART_ClearITPendingBit(UART5, USART_IT_RXNE); | |
| 154 | -} | |
| 155 | - | |
| 156 | - | |
| 157 | - | |
| 158 | -void UART5_Mode(mode status) | |
| 159 | -{ | |
| 160 | - if(status == RS485_WRITE) | |
| 161 | - { | |
| 162 | - GPIO_SetBits(EN_485_Port,EN_485_Pin); | |
| 163 | - } | |
| 164 | - else if(status == RS485_READ) | |
| 165 | - { | |
| 166 | - GPIO_ResetBits(EN_485_Port,EN_485_Pin); | |
| 167 | - } | |
| 168 | -} | |
| 169 | - | |
| 170 | - | |
| 171 | - | |
| 172 | - | |
| 173 | - | |
| 174 | - | |
| 175 | -/*************************** | |
| 176 | -* | |
| 177 | -* | |
| 178 | -* | |
| 179 | -****************************/ | |
| 180 | -void Clear_Uart5_Cache(void) | |
| 181 | -{ | |
| 182 | - memset(UART_RX_BUF,0,UART_RX_CNT); | |
| 183 | - UART_RX_CNT = 0; | |
| 184 | -} | |
| 185 | - | |
| 186 | - | |
| 187 | - | |
| 188 | -void Uart5_Send(uint8_t *data,uint16_t length) | |
| 189 | -{ | |
| 190 | - UART5_Mode(RS485_WRITE); | |
| 191 | - Tick_Delay_ms(1); | |
| 192 | - uint8_t i ; | |
| 193 | - | |
| 194 | - for(i=0;i<length;i++) | |
| 195 | - { | |
| 196 | - USART_SendData(UART5,data[i]); | |
| 197 | - while((UART5->SR&0X40)==0); | |
| 198 | - } | |
| 199 | - | |
| 200 | - Tick_Delay_ms(1); | |
| 201 | - UART5_Mode(RS485_READ); | |
| 202 | -} | |
| 203 | - | |
| 204 | - | |
| 205 | - | |
| 206 | - | |
| 207 | - | |
| 208 | -#if 1 | |
| 209 | -void USART1_IRQHandler(void) //串口1中断服务程序 | |
| 210 | -{ | |
| 211 | - | |
| 212 | - USART_ClearITPendingBit(USART1, USART_IT_RXNE); | |
| 213 | -} | |
| 214 | -#endif | |
| 215 | - | |
| 216 | - | |
| 217 | - | |
| 218 | - |
SYSTEM/usart/usart.h deleted
| 1 | -#ifndef __USART_H | |
| 2 | -#define __USART_H | |
| 3 | -#include "stdio.h" | |
| 4 | -#include "dev.h" | |
| 5 | - | |
| 6 | - | |
| 7 | -#define USART_REC_LEN 200*1024 //定义最大接收字节数 120K | |
| 8 | - | |
| 9 | - | |
| 10 | -extern uint8_t UART_RX_BUF[USART_REC_LEN]; //接收缓冲,最大USART_REC_LEN个字节 | |
| 11 | -extern uint32_t UART_RX_CNT; //接收的字节数 | |
| 12 | - | |
| 13 | - | |
| 14 | - | |
| 15 | -typedef enum | |
| 16 | -{ | |
| 17 | - RS485_WRITE = 2, | |
| 18 | - RS485_READ | |
| 19 | -}mode; | |
| 20 | - | |
| 21 | - | |
| 22 | - | |
| 23 | -//如果想串口中断接收,请不要注释以下宏定义 | |
| 24 | -void USART1_Config(uint32_t bound); | |
| 25 | -void UART5_Config(uint32_t bound); | |
| 26 | - | |
| 27 | -void UART5_Mode(mode status); | |
| 28 | -void Clear_Uart5_Cache(void); | |
| 29 | - | |
| 30 | - | |
| 31 | -void Uart5_Send(uint8_t *data,uint16_t length); | |
| 32 | -#endif | |
| 33 | - | |
| 34 | - |
SYSTEM/usart/usart1.c
0 → 100644
| 1 | +#include "usart1.h" | |
| 2 | +#include "dev.h" | |
| 3 | +#include "delay.h" | |
| 4 | +#include "string.h" | |
| 5 | +#include "timer3.h" | |
| 6 | + | |
| 7 | +#define USART1_RX_MAX 40 | |
| 8 | +#define USART1_TX_MAX 40 | |
| 9 | +uint8_t USART1_RX_BUF[USART1_RX_MAX] = {0}; //接收缓存区 | |
| 10 | +uint8_t USART1_TX_BUF[USART1_TX_MAX] = {0}; //发送缓存区 | |
| 11 | + | |
| 12 | +Uart_Type u1; | |
| 13 | +void usart1_init(uint32_t bound) | |
| 14 | +{ | |
| 15 | + GPIO_InitTypeDef GPIO_InitStructure; | |
| 16 | + USART_InitTypeDef USART_InitStructure; | |
| 17 | + NVIC_InitTypeDef NVIC_InitStructure; | |
| 18 | + | |
| 19 | + memset(USART1_RX_BUF,0,USART1_RX_MAX); | |
| 20 | + memset(USART1_TX_BUF,0,USART1_TX_MAX); | |
| 21 | + | |
| 22 | + u1.rx_buf=USART1_RX_BUF; | |
| 23 | + u1.tx_buf=USART1_TX_BUF; | |
| 24 | + u1.rx_len=0; | |
| 25 | + u1.tx_len=0; | |
| 26 | + u1.rx_status = RX_STA_RST; | |
| 27 | + u1.rxtimer = &timer3; | |
| 28 | + | |
| 29 | + timer3_init(usart1_rx_finished); | |
| 30 | + | |
| 31 | + RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //使能GPIOA时钟 | |
| 32 | + RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //使能USART1时钟 | |
| 33 | + | |
| 34 | + GPIO_PinAFConfig(DBG_RXD_Port,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9复用为USART1 | |
| 35 | + GPIO_PinAFConfig(DBG_TXD_Port,GPIO_PinSource10,GPIO_AF_USART1); //GPIOA10复用为USART1 | |
| 36 | + | |
| 37 | + GPIO_InitStructure.GPIO_Pin = DBG_RXD_Pin | DBG_TXD_Pin; //GPIOA9与GPIOA10 | |
| 38 | + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用功能 | |
| 39 | + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHz | |
| 40 | + GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出 | |
| 41 | + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉 | |
| 42 | + GPIO_Init(DBG_RXD_Port,&GPIO_InitStructure); //初始化 | |
| 43 | + | |
| 44 | + USART_InitStructure.USART_BaudRate = U1_BAUDRETE; //波特率设置 | |
| 45 | + USART_InitStructure.USART_WordLength = USART_WordLength_8b; //字长为8位数据格式 | |
| 46 | + USART_InitStructure.USART_StopBits = USART_StopBits_1; //一个停止位 | |
| 47 | + USART_InitStructure.USART_Parity = USART_Parity_No; //无奇偶校验位 | |
| 48 | + USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制 | |
| 49 | + USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //收发模式 | |
| 50 | + USART_Init(USART1, &USART_InitStructure); //初始化串口1 | |
| 51 | + | |
| 52 | + USART_Cmd(USART1, ENABLE); //使能串口1 | |
| 53 | + | |
| 54 | + USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //开启相关中断 | |
| 55 | + | |
| 56 | + NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //串口1中断通道 | |
| 57 | + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 3; //抢占优先级3 | |
| 58 | + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //子优先级3 | |
| 59 | + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能 | |
| 60 | + NVIC_Init(&NVIC_InitStructure); //初始化VIC寄存器 | |
| 61 | +} | |
| 62 | + | |
| 63 | +void usart1_send_byte(uint8_t one_byte) | |
| 64 | +{ | |
| 65 | + | |
| 66 | + while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束 | |
| 67 | + USART_SendData(USART1,one_byte); //向串口3发送数据 | |
| 68 | + | |
| 69 | +} | |
| 70 | +void usart1_send_bytes(uint8_t* buf,uint16_t length) | |
| 71 | +{ | |
| 72 | + for(uint16_t i=0;i<length;i++) | |
| 73 | + { | |
| 74 | + usart1_send_byte(buf[i]); | |
| 75 | + } | |
| 76 | +} | |
| 77 | +void usart1_rx_reset(void) | |
| 78 | +{ | |
| 79 | + u1.rx_len=0; | |
| 80 | + memset(u1.rx_buf,0,USART1_RX_MAX);//接收缓存区清零 | |
| 81 | + u1.rx_status = RX_STA_RST; | |
| 82 | +} | |
| 83 | +void usart1_rx_receiving(void) | |
| 84 | +{ | |
| 85 | + u1.rxtimer->timeclear(); | |
| 86 | + u1.rxtimer->start(); | |
| 87 | + u1.rx_status = RX_RECEIVING; | |
| 88 | +} | |
| 89 | +void usart1_rx_finished(void) | |
| 90 | +{ | |
| 91 | + u1.rxtimer->stop(); | |
| 92 | + u1.rx_status=RX_FINISHED; | |
| 93 | +} | |
| 94 | +void USART1_IRQHandler(void)//串口2中断服务程序 | |
| 95 | +{ | |
| 96 | + if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//接收中断 | |
| 97 | + { | |
| 98 | + uint8_t res; | |
| 99 | + res = USART_ReceiveData(USART1);//读取接收到的数据 | |
| 100 | + switch(u1.rx_status) | |
| 101 | + { | |
| 102 | + case RX_STA_RST: | |
| 103 | + { | |
| 104 | + u1.rx_len = 0; | |
| 105 | + u1.rx_buf[u1.rx_len++] = res;//记录接收到的值 | |
| 106 | + usart1_rx_receiving(); | |
| 107 | + } break; | |
| 108 | + case RX_RECEIVING: | |
| 109 | + { | |
| 110 | + u1.rx_buf[u1.rx_len++] = res;//记录接收到的值 | |
| 111 | + if(u1.rx_len==USART1_RX_MAX) | |
| 112 | + { | |
| 113 | + usart1_rx_finished(); | |
| 114 | + } | |
| 115 | + else | |
| 116 | + { | |
| 117 | + usart1_rx_receiving(); | |
| 118 | + } | |
| 119 | + } break; | |
| 120 | + case RX_FINISHED: | |
| 121 | + { | |
| 122 | + } break; | |
| 123 | + default: break; | |
| 124 | + } | |
| 125 | + } | |
| 126 | + else | |
| 127 | + { | |
| 128 | + | |
| 129 | + } | |
| 130 | +} | ... | ... |
SYSTEM/usart/usart1.h
0 → 100644
| 1 | +#ifndef __USART1_H | |
| 2 | +#define __USART1_H | |
| 3 | + | |
| 4 | +#include "stdint.h" | |
| 5 | +#include "stdio.h" | |
| 6 | +#include "uart.h" | |
| 7 | + | |
| 8 | +#define U1_BAUDRETE 115200 | |
| 9 | +extern Uart_Type u1; | |
| 10 | + | |
| 11 | +void usart1_send_byte(uint8_t one_byte); | |
| 12 | +void usart1_send_bytes(uint8_t* buf,uint16_t length); | |
| 13 | +void usart1_rx_reset(void); | |
| 14 | +void usart1_rx_receiving(void); | |
| 15 | +void usart1_rx_finished(void); | |
| 16 | +void uart1_init(void); | |
| 17 | +#endif | ... | ... |
USER/IAP.uvguix.Admin
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | <View> |
| 12 | 12 | <WinId>38003</WinId> |
| 13 | 13 | <ViewName>Registers</ViewName> |
| 14 | - <TableColWidths>118 112</TableColWidths> | |
| 14 | + <TableColWidths>140 90</TableColWidths> | |
| 15 | 15 | </View> |
| 16 | 16 | <View> |
| 17 | 17 | <WinId>346</WinId> |
| ... | ... | @@ -89,8 +89,8 @@ |
| 89 | 89 | <flags>2</flags> |
| 90 | 90 | <showCmd>3</showCmd> |
| 91 | 91 | <MinPosition> |
| 92 | - <xPos>-1</xPos> | |
| 93 | - <yPos>-1</yPos> | |
| 92 | + <xPos>-32000</xPos> | |
| 93 | + <yPos>-32000</yPos> | |
| 94 | 94 | </MinPosition> |
| 95 | 95 | <MaxPosition> |
| 96 | 96 | <xPos>-1</xPos> |
| ... | ... | @@ -106,8 +106,8 @@ |
| 106 | 106 | <MDIClientArea> |
| 107 | 107 | <RegID>0</RegID> |
| 108 | 108 | <MDITabState> |
| 109 | - <Len>242</Len> | |
| 110 | - <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000002D453A5C6769745C6769746C61625C426F6F744C6F616465725C53595354454D5C75736172745C75736172742E63000000000775736172742E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000009030000</Data> | |
| 109 | + <Len>940</Len> | |
| 110 | + <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000B000000000000000100000024453A5C6769745C6769746C61625C426F6F744C6F616465725C555345525C6D61696E2E6300000000066D61696E2E6300000000BCA8E100FFFFFFFF2E453A5C6769745C6769746C61625C426F6F744C6F616465725C53595354454D5C75736172745C7573617274312E6800000000087573617274312E6800000000FFDC7800FFFFFFFF2D453A5C6769745C6769746C61625C426F6F744C6F616465725C53595354454D5C75736172745C75617274352E63000000000775617274352E6300000000BECEA100FFFFFFFF2E453A5C6769745C6769746C61625C426F6F744C6F616465725C53595354454D5C75736172745C7573617274312E6300000000087573617274312E6300000000F0A0A100FFFFFFFF29453A5C6769745C6769746C61625C426F6F744C6F616465725C53595354454D5C7379735C6465762E6800000000056465762E6800000000BCA8E100FFFFFFFF22453A5C6769745C6769746C61625C426F6F744C6F616465725C4941505C6961702E6300000000056961702E63000000009CC1B600FFFFFFFF2D453A5C6769745C6769746C61625C426F6F744C6F616465725C53595354454D5C75736172745C75617274352E68000000000775617274352E6800000000F7B88600FFFFFFFF22453A5C6769745C6769746C61625C426F6F744C6F616465725C4941505C6961702E6800000000056961702E6800000000D9ADC200FFFFFFFF2F453A5C6769745C6769746C61625C426F6F744C6F616465725C48415244574152455C464C4153485C666C6173682E630000000007666C6173682E6300000000A5C2D700FFFFFFFF34453A5C6769745C6769746C61625C426F6F744C6F616465725C46574C49425C7372635C73746D3332663478785F666C6173682E63000000001173746D3332663478785F666C6173682E6300000000B3A6BE00FFFFFFFF34453A5C6769745C6769746C61625C426F6F744C6F616465725C46574C49425C696E635C73746D3332663478785F666C6173682E68000000001173746D3332663478785F666C6173682E6800000000EAD6A300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000009030000</Data> | |
| 111 | 111 | </MDITabState> |
| 112 | 112 | </MDIClientArea> |
| 113 | 113 | <ViewEx> |
| ... | ... | @@ -1156,7 +1156,7 @@ |
| 1156 | 1156 | <Window> |
| 1157 | 1157 | <RegID>38007</RegID> |
| 1158 | 1158 | <PaneID>38007</PaneID> |
| 1159 | - <IsVisible>0</IsVisible> | |
| 1159 | + <IsVisible>1</IsVisible> | |
| 1160 | 1160 | <IsFloating>0</IsFloating> |
| 1161 | 1161 | <IsTabbed>0</IsTabbed> |
| 1162 | 1162 | <IsActivated>0</IsActivated> |
| ... | ... | @@ -1795,14 +1795,14 @@ |
| 1795 | 1795 | </Window> |
| 1796 | 1796 | <DockMan> |
| 1797 | 1797 | <Len>3312</Len> |
| 1798 | - <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000F2020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000009030000000000004F000000F0000000F20200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000F202000080070000F60200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000000D03000080070000FD03000000000000F602000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data> | |
| 1798 | + <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000F2020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000009030000000000004F000000F0000000F20200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000F202000080070000F60200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000000D03000080070000FD03000000000000F602000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data> | |
| 1799 | 1799 | </DockMan> |
| 1800 | 1800 | <ToolBar> |
| 1801 | 1801 | <RegID>59392</RegID> |
| 1802 | 1802 | <Name>File</Name> |
| 1803 | 1803 | <Buttons> |
| 1804 | - <Len>2355</Len> | |
| 1805 | - <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001561745F687474705F657272636F64655F7061727365960000000000000008001561745F687474705F657272636F64655F70617273650661745F7572630D7572635F73656E645F66756E63054C4F475F45054C4F475F441273746172745F6E6574776F726B5F7461736B067072696E7466077072696E7466280000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000</Data> | |
| 1804 | + <Len>2419</Len> | |
| 1805 | + <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000003525443960000000000000013000D5469636B5F44656C61795F6D73000454494D340674696D657234065553415254350555415254350275350575617274350674696D6572360454494D360452585F520853656E64427974650A454E5F3438355F50696E0B454E5F3438355F506F7274035254430751555243434647042B435351044E554C4C06514D5443464700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000</Data> | |
| 1806 | 1806 | </Buttons> |
| 1807 | 1807 | <OriginalItems> |
| 1808 | 1808 | <Len>1423</Len> |
| ... | ... | @@ -1818,7 +1818,7 @@ |
| 1818 | 1818 | <Name>Build</Name> |
| 1819 | 1819 | <Buttons> |
| 1820 | 1820 | <Len>966</Len> |
| 1821 | - <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000034941509600000000000000010003494150000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data> | |
| 1821 | + <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000034941509600000000000000010003494150000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data> | |
| 1822 | 1822 | </Buttons> |
| 1823 | 1823 | <OriginalItems> |
| 1824 | 1824 | <Len>583</Len> |
| ... | ... | @@ -1834,7 +1834,7 @@ |
| 1834 | 1834 | <Name>Debug</Name> |
| 1835 | 1835 | <Buttons> |
| 1836 | 1836 | <Len>2373</Len> |
| 1837 | - <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data> | |
| 1837 | + <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data> | |
| 1838 | 1838 | </Buttons> |
| 1839 | 1839 | <OriginalItems> |
| 1840 | 1840 | <Len>898</Len> |
| ... | ... | @@ -1860,10 +1860,100 @@ |
| 1860 | 1860 | <Size>100</Size> |
| 1861 | 1861 | <ActiveTab>0</ActiveTab> |
| 1862 | 1862 | <Doc> |
| 1863 | - <Name>..\SYSTEM\usart\usart.c</Name> | |
| 1863 | + <Name>.\main.c</Name> | |
| 1864 | + <ColumnNumber>2</ColumnNumber> | |
| 1865 | + <TopLine>39</TopLine> | |
| 1866 | + <CurrentLine>90</CurrentLine> | |
| 1867 | + <Folding>1</Folding> | |
| 1868 | + <ContractedFolders>45,61</ContractedFolders> | |
| 1869 | + <PaneID>0</PaneID> | |
| 1870 | + </Doc> | |
| 1871 | + <Doc> | |
| 1872 | + <Name>..\SYSTEM\usart\usart1.h</Name> | |
| 1873 | + <ColumnNumber>2</ColumnNumber> | |
| 1874 | + <TopLine>1</TopLine> | |
| 1875 | + <CurrentLine>9</CurrentLine> | |
| 1876 | + <Folding>1</Folding> | |
| 1877 | + <ContractedFolders></ContractedFolders> | |
| 1878 | + <PaneID>0</PaneID> | |
| 1879 | + </Doc> | |
| 1880 | + <Doc> | |
| 1881 | + <Name>..\SYSTEM\usart\uart5.c</Name> | |
| 1882 | + <ColumnNumber>21</ColumnNumber> | |
| 1883 | + <TopLine>68</TopLine> | |
| 1884 | + <CurrentLine>123</CurrentLine> | |
| 1885 | + <Folding>1</Folding> | |
| 1886 | + <ContractedFolders>84,89,95,102,115,126</ContractedFolders> | |
| 1887 | + <PaneID>0</PaneID> | |
| 1888 | + </Doc> | |
| 1889 | + <Doc> | |
| 1890 | + <Name>..\SYSTEM\usart\usart1.c</Name> | |
| 1891 | + <ColumnNumber>13</ColumnNumber> | |
| 1892 | + <TopLine>1</TopLine> | |
| 1893 | + <CurrentLine>1</CurrentLine> | |
| 1894 | + <Folding>1</Folding> | |
| 1895 | + <ContractedFolders></ContractedFolders> | |
| 1896 | + <PaneID>0</PaneID> | |
| 1897 | + </Doc> | |
| 1898 | + <Doc> | |
| 1899 | + <Name>..\SYSTEM\sys\dev.h</Name> | |
| 1900 | + <ColumnNumber>0</ColumnNumber> | |
| 1901 | + <TopLine>36</TopLine> | |
| 1902 | + <CurrentLine>48</CurrentLine> | |
| 1903 | + <Folding>1</Folding> | |
| 1904 | + <ContractedFolders></ContractedFolders> | |
| 1905 | + <PaneID>0</PaneID> | |
| 1906 | + </Doc> | |
| 1907 | + <Doc> | |
| 1908 | + <Name>..\IAP\iap.c</Name> | |
| 1909 | + <ColumnNumber>0</ColumnNumber> | |
| 1910 | + <TopLine>128</TopLine> | |
| 1911 | + <CurrentLine>158</CurrentLine> | |
| 1912 | + <Folding>1</Folding> | |
| 1913 | + <ContractedFolders></ContractedFolders> | |
| 1914 | + <PaneID>0</PaneID> | |
| 1915 | + </Doc> | |
| 1916 | + <Doc> | |
| 1917 | + <Name>..\SYSTEM\usart\uart5.h</Name> | |
| 1918 | + <ColumnNumber>20</ColumnNumber> | |
| 1919 | + <TopLine>1</TopLine> | |
| 1920 | + <CurrentLine>6</CurrentLine> | |
| 1921 | + <Folding>1</Folding> | |
| 1922 | + <ContractedFolders></ContractedFolders> | |
| 1923 | + <PaneID>0</PaneID> | |
| 1924 | + </Doc> | |
| 1925 | + <Doc> | |
| 1926 | + <Name>..\IAP\iap.h</Name> | |
| 1927 | + <ColumnNumber>23</ColumnNumber> | |
| 1928 | + <TopLine>1</TopLine> | |
| 1929 | + <CurrentLine>19</CurrentLine> | |
| 1930 | + <Folding>1</Folding> | |
| 1931 | + <ContractedFolders></ContractedFolders> | |
| 1932 | + <PaneID>0</PaneID> | |
| 1933 | + </Doc> | |
| 1934 | + <Doc> | |
| 1935 | + <Name>..\HARDWARE\FLASH\flash.c</Name> | |
| 1936 | + <ColumnNumber>41</ColumnNumber> | |
| 1937 | + <TopLine>1</TopLine> | |
| 1938 | + <CurrentLine>43</CurrentLine> | |
| 1939 | + <Folding>1</Folding> | |
| 1940 | + <ContractedFolders></ContractedFolders> | |
| 1941 | + <PaneID>0</PaneID> | |
| 1942 | + </Doc> | |
| 1943 | + <Doc> | |
| 1944 | + <Name>..\FWLIB\src\stm32f4xx_flash.c</Name> | |
| 1945 | + <ColumnNumber>0</ColumnNumber> | |
| 1946 | + <TopLine>454</TopLine> | |
| 1947 | + <CurrentLine>469</CurrentLine> | |
| 1948 | + <Folding>1</Folding> | |
| 1949 | + <ContractedFolders></ContractedFolders> | |
| 1950 | + <PaneID>0</PaneID> | |
| 1951 | + </Doc> | |
| 1952 | + <Doc> | |
| 1953 | + <Name>..\FWLIB\inc\stm32f4xx_flash.h</Name> | |
| 1864 | 1954 | <ColumnNumber>0</ColumnNumber> |
| 1865 | - <TopLine>176</TopLine> | |
| 1866 | - <CurrentLine>188</CurrentLine> | |
| 1955 | + <TopLine>123</TopLine> | |
| 1956 | + <CurrentLine>135</CurrentLine> | |
| 1867 | 1957 | <Folding>1</Folding> |
| 1868 | 1958 | <ContractedFolders></ContractedFolders> |
| 1869 | 1959 | <PaneID>0</PaneID> | ... | ... |
USER/IAP.uvoptx
| ... | ... | @@ -374,8 +374,8 @@ |
| 374 | 374 | <tvExp>0</tvExp> |
| 375 | 375 | <tvExpOptDlg>0</tvExpOptDlg> |
| 376 | 376 | <bDave2>0</bDave2> |
| 377 | - <PathWithFileName>..\SYSTEM\usart\usart.c</PathWithFileName> | |
| 378 | - <FilenameWithoutPath>usart.c</FilenameWithoutPath> | |
| 377 | + <PathWithFileName>..\SYSTEM\delay\delay.c</PathWithFileName> | |
| 378 | + <FilenameWithoutPath>delay.c</FilenameWithoutPath> | |
| 379 | 379 | <RteFlg>0</RteFlg> |
| 380 | 380 | <bShared>0</bShared> |
| 381 | 381 | </File> |
| ... | ... | @@ -386,8 +386,8 @@ |
| 386 | 386 | <tvExp>0</tvExp> |
| 387 | 387 | <tvExpOptDlg>0</tvExpOptDlg> |
| 388 | 388 | <bDave2>0</bDave2> |
| 389 | - <PathWithFileName>..\SYSTEM\delay\delay.c</PathWithFileName> | |
| 390 | - <FilenameWithoutPath>delay.c</FilenameWithoutPath> | |
| 389 | + <PathWithFileName>..\SYSTEM\CRC\crc.c</PathWithFileName> | |
| 390 | + <FilenameWithoutPath>crc.c</FilenameWithoutPath> | |
| 391 | 391 | <RteFlg>0</RteFlg> |
| 392 | 392 | <bShared>0</bShared> |
| 393 | 393 | </File> |
| ... | ... | @@ -398,8 +398,8 @@ |
| 398 | 398 | <tvExp>0</tvExp> |
| 399 | 399 | <tvExpOptDlg>0</tvExpOptDlg> |
| 400 | 400 | <bDave2>0</bDave2> |
| 401 | - <PathWithFileName>..\SYSTEM\TIMER\timer.c</PathWithFileName> | |
| 402 | - <FilenameWithoutPath>timer.c</FilenameWithoutPath> | |
| 401 | + <PathWithFileName>..\SYSTEM\usart\uart5.c</PathWithFileName> | |
| 402 | + <FilenameWithoutPath>uart5.c</FilenameWithoutPath> | |
| 403 | 403 | <RteFlg>0</RteFlg> |
| 404 | 404 | <bShared>0</bShared> |
| 405 | 405 | </File> |
| ... | ... | @@ -410,8 +410,8 @@ |
| 410 | 410 | <tvExp>0</tvExp> |
| 411 | 411 | <tvExpOptDlg>0</tvExpOptDlg> |
| 412 | 412 | <bDave2>0</bDave2> |
| 413 | - <PathWithFileName>..\SYSTEM\CRC\crc.c</PathWithFileName> | |
| 414 | - <FilenameWithoutPath>crc.c</FilenameWithoutPath> | |
| 413 | + <PathWithFileName>..\SYSTEM\usart\timer4.c</PathWithFileName> | |
| 414 | + <FilenameWithoutPath>timer4.c</FilenameWithoutPath> | |
| 415 | 415 | <RteFlg>0</RteFlg> |
| 416 | 416 | <bShared>0</bShared> |
| 417 | 417 | </File> |
| ... | ... | @@ -422,8 +422,32 @@ |
| 422 | 422 | <tvExp>0</tvExp> |
| 423 | 423 | <tvExpOptDlg>0</tvExpOptDlg> |
| 424 | 424 | <bDave2>0</bDave2> |
| 425 | - <PathWithFileName>..\SYSTEM\fsmc\fsmc.c</PathWithFileName> | |
| 426 | - <FilenameWithoutPath>fsmc.c</FilenameWithoutPath> | |
| 425 | + <PathWithFileName>..\SYSTEM\usart\usart1.c</PathWithFileName> | |
| 426 | + <FilenameWithoutPath>usart1.c</FilenameWithoutPath> | |
| 427 | + <RteFlg>0</RteFlg> | |
| 428 | + <bShared>0</bShared> | |
| 429 | + </File> | |
| 430 | + <File> | |
| 431 | + <GroupNumber>3</GroupNumber> | |
| 432 | + <FileNumber>9</FileNumber> | |
| 433 | + <FileType>1</FileType> | |
| 434 | + <tvExp>0</tvExp> | |
| 435 | + <tvExpOptDlg>0</tvExpOptDlg> | |
| 436 | + <bDave2>0</bDave2> | |
| 437 | + <PathWithFileName>..\SYSTEM\usart\debug.c</PathWithFileName> | |
| 438 | + <FilenameWithoutPath>debug.c</FilenameWithoutPath> | |
| 439 | + <RteFlg>0</RteFlg> | |
| 440 | + <bShared>0</bShared> | |
| 441 | + </File> | |
| 442 | + <File> | |
| 443 | + <GroupNumber>3</GroupNumber> | |
| 444 | + <FileNumber>10</FileNumber> | |
| 445 | + <FileType>1</FileType> | |
| 446 | + <tvExp>0</tvExp> | |
| 447 | + <tvExpOptDlg>0</tvExpOptDlg> | |
| 448 | + <bDave2>0</bDave2> | |
| 449 | + <PathWithFileName>..\SYSTEM\usart\timer3.c</PathWithFileName> | |
| 450 | + <FilenameWithoutPath>timer3.c</FilenameWithoutPath> | |
| 427 | 451 | <RteFlg>0</RteFlg> |
| 428 | 452 | <bShared>0</bShared> |
| 429 | 453 | </File> |
| ... | ... | @@ -437,7 +461,7 @@ |
| 437 | 461 | <RteFlg>0</RteFlg> |
| 438 | 462 | <File> |
| 439 | 463 | <GroupNumber>4</GroupNumber> |
| 440 | - <FileNumber>9</FileNumber> | |
| 464 | + <FileNumber>11</FileNumber> | |
| 441 | 465 | <FileType>2</FileType> |
| 442 | 466 | <tvExp>0</tvExp> |
| 443 | 467 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -457,7 +481,7 @@ |
| 457 | 481 | <RteFlg>0</RteFlg> |
| 458 | 482 | <File> |
| 459 | 483 | <GroupNumber>5</GroupNumber> |
| 460 | - <FileNumber>10</FileNumber> | |
| 484 | + <FileNumber>12</FileNumber> | |
| 461 | 485 | <FileType>1</FileType> |
| 462 | 486 | <tvExp>0</tvExp> |
| 463 | 487 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -469,7 +493,7 @@ |
| 469 | 493 | </File> |
| 470 | 494 | <File> |
| 471 | 495 | <GroupNumber>5</GroupNumber> |
| 472 | - <FileNumber>11</FileNumber> | |
| 496 | + <FileNumber>13</FileNumber> | |
| 473 | 497 | <FileType>1</FileType> |
| 474 | 498 | <tvExp>0</tvExp> |
| 475 | 499 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -481,7 +505,7 @@ |
| 481 | 505 | </File> |
| 482 | 506 | <File> |
| 483 | 507 | <GroupNumber>5</GroupNumber> |
| 484 | - <FileNumber>12</FileNumber> | |
| 508 | + <FileNumber>14</FileNumber> | |
| 485 | 509 | <FileType>1</FileType> |
| 486 | 510 | <tvExp>0</tvExp> |
| 487 | 511 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -493,7 +517,7 @@ |
| 493 | 517 | </File> |
| 494 | 518 | <File> |
| 495 | 519 | <GroupNumber>5</GroupNumber> |
| 496 | - <FileNumber>13</FileNumber> | |
| 520 | + <FileNumber>15</FileNumber> | |
| 497 | 521 | <FileType>1</FileType> |
| 498 | 522 | <tvExp>0</tvExp> |
| 499 | 523 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -505,7 +529,7 @@ |
| 505 | 529 | </File> |
| 506 | 530 | <File> |
| 507 | 531 | <GroupNumber>5</GroupNumber> |
| 508 | - <FileNumber>14</FileNumber> | |
| 532 | + <FileNumber>16</FileNumber> | |
| 509 | 533 | <FileType>1</FileType> |
| 510 | 534 | <tvExp>0</tvExp> |
| 511 | 535 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -517,7 +541,7 @@ |
| 517 | 541 | </File> |
| 518 | 542 | <File> |
| 519 | 543 | <GroupNumber>5</GroupNumber> |
| 520 | - <FileNumber>15</FileNumber> | |
| 544 | + <FileNumber>17</FileNumber> | |
| 521 | 545 | <FileType>1</FileType> |
| 522 | 546 | <tvExp>0</tvExp> |
| 523 | 547 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -529,7 +553,7 @@ |
| 529 | 553 | </File> |
| 530 | 554 | <File> |
| 531 | 555 | <GroupNumber>5</GroupNumber> |
| 532 | - <FileNumber>16</FileNumber> | |
| 556 | + <FileNumber>18</FileNumber> | |
| 533 | 557 | <FileType>1</FileType> |
| 534 | 558 | <tvExp>0</tvExp> |
| 535 | 559 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -541,7 +565,7 @@ |
| 541 | 565 | </File> |
| 542 | 566 | <File> |
| 543 | 567 | <GroupNumber>5</GroupNumber> |
| 544 | - <FileNumber>17</FileNumber> | |
| 568 | + <FileNumber>19</FileNumber> | |
| 545 | 569 | <FileType>1</FileType> |
| 546 | 570 | <tvExp>0</tvExp> |
| 547 | 571 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -553,7 +577,7 @@ |
| 553 | 577 | </File> |
| 554 | 578 | <File> |
| 555 | 579 | <GroupNumber>5</GroupNumber> |
| 556 | - <FileNumber>18</FileNumber> | |
| 580 | + <FileNumber>20</FileNumber> | |
| 557 | 581 | <FileType>1</FileType> |
| 558 | 582 | <tvExp>0</tvExp> |
| 559 | 583 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -573,7 +597,7 @@ |
| 573 | 597 | <RteFlg>0</RteFlg> |
| 574 | 598 | <File> |
| 575 | 599 | <GroupNumber>6</GroupNumber> |
| 576 | - <FileNumber>19</FileNumber> | |
| 600 | + <FileNumber>21</FileNumber> | |
| 577 | 601 | <FileType>1</FileType> |
| 578 | 602 | <tvExp>0</tvExp> |
| 579 | 603 | <tvExpOptDlg>0</tvExpOptDlg> |
| ... | ... | @@ -593,7 +617,7 @@ |
| 593 | 617 | <RteFlg>0</RteFlg> |
| 594 | 618 | <File> |
| 595 | 619 | <GroupNumber>7</GroupNumber> |
| 596 | - <FileNumber>20</FileNumber> | |
| 620 | + <FileNumber>22</FileNumber> | |
| 597 | 621 | <FileType>5</FileType> |
| 598 | 622 | <tvExp>0</tvExp> |
| 599 | 623 | <tvExpOptDlg>0</tvExpOptDlg> | ... | ... |
USER/IAP.uvprojx
| ... | ... | @@ -408,29 +408,39 @@ |
| 408 | 408 | <FilePath>..\SYSTEM\sys\sys.c</FilePath> |
| 409 | 409 | </File> |
| 410 | 410 | <File> |
| 411 | - <FileName>usart.c</FileName> | |
| 411 | + <FileName>delay.c</FileName> | |
| 412 | 412 | <FileType>1</FileType> |
| 413 | - <FilePath>..\SYSTEM\usart\usart.c</FilePath> | |
| 413 | + <FilePath>..\SYSTEM\delay\delay.c</FilePath> | |
| 414 | 414 | </File> |
| 415 | 415 | <File> |
| 416 | - <FileName>delay.c</FileName> | |
| 416 | + <FileName>crc.c</FileName> | |
| 417 | 417 | <FileType>1</FileType> |
| 418 | - <FilePath>..\SYSTEM\delay\delay.c</FilePath> | |
| 418 | + <FilePath>..\SYSTEM\CRC\crc.c</FilePath> | |
| 419 | 419 | </File> |
| 420 | 420 | <File> |
| 421 | - <FileName>timer.c</FileName> | |
| 421 | + <FileName>uart5.c</FileName> | |
| 422 | 422 | <FileType>1</FileType> |
| 423 | - <FilePath>..\SYSTEM\TIMER\timer.c</FilePath> | |
| 423 | + <FilePath>..\SYSTEM\usart\uart5.c</FilePath> | |
| 424 | 424 | </File> |
| 425 | 425 | <File> |
| 426 | - <FileName>crc.c</FileName> | |
| 426 | + <FileName>timer4.c</FileName> | |
| 427 | 427 | <FileType>1</FileType> |
| 428 | - <FilePath>..\SYSTEM\CRC\crc.c</FilePath> | |
| 428 | + <FilePath>..\SYSTEM\usart\timer4.c</FilePath> | |
| 429 | + </File> | |
| 430 | + <File> | |
| 431 | + <FileName>usart1.c</FileName> | |
| 432 | + <FileType>1</FileType> | |
| 433 | + <FilePath>..\SYSTEM\usart\usart1.c</FilePath> | |
| 434 | + </File> | |
| 435 | + <File> | |
| 436 | + <FileName>debug.c</FileName> | |
| 437 | + <FileType>1</FileType> | |
| 438 | + <FilePath>..\SYSTEM\usart\debug.c</FilePath> | |
| 429 | 439 | </File> |
| 430 | 440 | <File> |
| 431 | - <FileName>fsmc.c</FileName> | |
| 441 | + <FileName>timer3.c</FileName> | |
| 432 | 442 | <FileType>1</FileType> |
| 433 | - <FilePath>..\SYSTEM\fsmc\fsmc.c</FilePath> | |
| 443 | + <FilePath>..\SYSTEM\usart\timer3.c</FilePath> | |
| 434 | 444 | </File> |
| 435 | 445 | </Files> |
| 436 | 446 | </Group> | ... | ... |
USER/main.c
| ... | ... | @@ -8,40 +8,35 @@ |
| 8 | 8 | * BootLoader预留空间为16K |
| 9 | 9 | ****************************************************************************/ |
| 10 | 10 | #include "delay.h" |
| 11 | -#include "usart.h" | |
| 11 | +#include "string.h" | |
| 12 | +#include "usart1.h" | |
| 13 | +#include "uart5.h" | |
| 12 | 14 | #include "iap.h" |
| 13 | -#include "flash.h" | |
| 14 | -#include "timer.h" | |
| 15 | -#include "fsmc.h" | |
| 15 | +#include "flash.h" | |
| 16 | 16 | |
| 17 | 17 | |
| 18 | - | |
| 19 | - | |
| 20 | 18 | int main(void) |
| 21 | 19 | { |
| 22 | 20 | uint32_t handle; |
| 23 | 21 | NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//设置系统中断优先级分组4 |
| 24 | 22 | |
| 25 | - Delay_init(); | |
| 26 | - USART1_Config(115200); //debug | |
| 27 | - UART5_Config(115200); //IAP | |
| 28 | - TIM3_Config(2048,2048); //Fram control | |
| 29 | - FSMC_SRAM_Init(); //EXT SRAM | |
| 30 | - | |
| 31 | - printf("\r\n**********BootLoader**********\r\n"); | |
| 32 | - | |
| 33 | - memset(UART_RX_BUF,0,USART_REC_LEN); | |
| 23 | + delay_init(); | |
| 24 | + uart1_init(); | |
| 25 | + uart5_init(); | |
| 34 | 26 | |
| 35 | 27 | Detection_Update(); //本地升级 |
| 36 | 28 | |
| 37 | 29 | handle = STMFLASH_ReadWord(FLAG_BASE_ADDR); |
| 38 | 30 | |
| 31 | + //检测是否OTA | |
| 32 | + //检测是否本地 | |
| 33 | + //执行 | |
| 39 | 34 | switch(handle) //选择加载那一部分的固件 |
| 40 | 35 | { |
| 41 | 36 | case BOOTLOADER_RUN: //运行段 |
| 42 | 37 | printf("\r\n**********Runing Firmware **********\r\n"); |
| 43 | 38 | |
| 44 | - Tick_Delay_ms(20); | |
| 39 | + delay_ms(20); | |
| 45 | 40 | Run_Flash_App(APP_RUN_ADDR); |
| 46 | 41 | break; |
| 47 | 42 | |
| ... | ... | @@ -51,12 +46,12 @@ int main(void) |
| 51 | 46 | #if 0 |
| 52 | 47 | handle = APP_RUN_ADDR; |
| 53 | 48 | STMFLASH_Write(APP_BACK_ADDR,(uint32_t *)handle,128*1024); |
| 54 | - Tick_Delay_ms(10); | |
| 49 | + delay_ms(10); | |
| 55 | 50 | #endif |
| 56 | 51 | |
| 57 | 52 | handle = APP_LOAD_ADDR; |
| 58 | - STMFLASH_Write(APP_RUN_ADDR,(uint32_t *)handle,128*1024); | |
| 59 | - Tick_Delay_ms(10); | |
| 53 | + STMFLASH_Write(APP_RUN_ADDR,(uint32_t *)handle,192*1024); | |
| 54 | + delay_ms(10); | |
| 60 | 55 | |
| 61 | 56 | handle = BOOTLOADER_RUN; |
| 62 | 57 | STMFLASH_Write(FLAG_BASE_ADDR,(uint32_t *)&handle,4); |
| ... | ... | @@ -70,11 +65,11 @@ int main(void) |
| 70 | 65 | |
| 71 | 66 | handle = APP_BACK_ADDR; |
| 72 | 67 | STMFLASH_Write(APP_RUN_ADDR,(uint32_t *)handle,128*1024); |
| 73 | - Tick_Delay_ms(10); | |
| 68 | + delay_ms(10); | |
| 74 | 69 | |
| 75 | 70 | handle = BOOTLOADER_RUN; |
| 76 | 71 | STMFLASH_Write(FLAG_BASE_ADDR,(uint32_t *)&handle,4); |
| 77 | - Tick_Delay_ms(10); | |
| 72 | + delay_ms(10); | |
| 78 | 73 | |
| 79 | 74 | Run_Flash_App(APP_RUN_ADDR); |
| 80 | 75 | break; |
| ... | ... | @@ -97,6 +92,6 @@ int main(void) |
| 97 | 92 | while(1) //预留通过网口升级的接口(CH395Q) |
| 98 | 93 | { |
| 99 | 94 | printf("\r\n********IDLE********\r\n"); |
| 100 | - Tick_Delay_ms(5000); | |
| 95 | + delay_ms(5000); | |
| 101 | 96 | } |
| 102 | 97 | } | ... | ... |