更改内容:1、更新电量相关算法,不同放电类型不同充放电计数时间;2、优化代码,减小ROM占用。
This commit is contained in:
parent
a11c94d82f
commit
42c5596193
Binary file not shown.
@ -1,231 +0,0 @@
|
|||||||
:03000000020853A0
|
|
||||||
:10085300758E3075D20078FFE4F6D8FD7581CB0232
|
|
||||||
:0208630008A0EB
|
|
||||||
:0C000E00120958D2AED2BE1207AB80F728
|
|
||||||
:0403DF0002C5000053
|
|
||||||
:020B0C00AD0733
|
|
||||||
:100B0E00E4FCFBFAF555F55675FE2975FF8BEDC421
|
|
||||||
:100B1E0054F04401F5A5E5A520E0FBAFA1AB07AF6E
|
|
||||||
:100B2E00A2EFFEEEFAEB2556F556EA3555F5550CC5
|
|
||||||
:100B3E00BC08DBE556AE557803CEC313CE13D8F9F9
|
|
||||||
:010B4E00FFA7
|
|
||||||
:010B4F002283
|
|
||||||
:100B5000E4F553F5547F05120B0C8E538F547F062A
|
|
||||||
:100B6000120B0CE4FCFDC004A905AA06AB07AE53AA
|
|
||||||
:100B7000AF547C077DD01205FCD0001205448E5383
|
|
||||||
:020B80008F5490
|
|
||||||
:010B82002250
|
|
||||||
:0203E300C11B3C
|
|
||||||
:100A2200E5E620E70953B3FE75F210C21B22E5F298
|
|
||||||
:100A3200540C601053B3FEE5F354C0603475F20CED
|
|
||||||
:100A420075F3C022E5F354C0600375F3C0E5F230DC
|
|
||||||
:100A5200E41AC378C6E694EB18E6940F500575F2D3
|
|
||||||
:100A620010800353B3FED21BE4F5162243B301C236
|
|
||||||
:020A72001B2245
|
|
||||||
:0403E500C117C11863
|
|
||||||
:100A7400E5E530E103C21722E5E230E705C217D20B
|
|
||||||
:100A84001822301A03C21722E5E830E00EC21730EC
|
|
||||||
:100A94001429C21475E80175B50122D21730181B48
|
|
||||||
:100AA400E5E630E716C378C6E6941018E6940E40DF
|
|
||||||
:0C0AB40005D217C21822E4F5B5C21722C3
|
|
||||||
:1003E900013EBC19250000000000000000000000CB
|
|
||||||
:1003F900000000000000000000000000000020468E
|
|
||||||
:1004090057060708090A0B180708181818181806B4
|
|
||||||
:10041900070C0A09181806070C080918180B0C0705
|
|
||||||
:1004290008181818060B0C08091818060B0C0809E7
|
|
||||||
:100439000A1806070818181818060B0C08090A07DD
|
|
||||||
:10044900060708090B0C18149D1818181800181815
|
|
||||||
:100459001800011818000102180001020314B1184C
|
|
||||||
:10046900181818141818181415181814151618141B
|
|
||||||
:030479001516173E
|
|
||||||
:10004E0075FE0653FFC00524E524D39418400375AE
|
|
||||||
:10005E002401E5241205D600B10100C50200D90322
|
|
||||||
:10006E0000ED04010105011506012907013D0801F6
|
|
||||||
:10007E00510901650A01790B018D0C01A10D01B524
|
|
||||||
:10008E000E01C90F01DD1001F01102031202161349
|
|
||||||
:10009E00022D14023D15025416026B17028218002F
|
|
||||||
:1000AE0000029775FE0643FF20D285E525640160A8
|
|
||||||
:1000BE000302029702028F75FE0643FF20D285E5EA
|
|
||||||
:1000CE00266401600302029702024B75FE0643FF8F
|
|
||||||
:1000DE0020D285E52764016003020297020224758F
|
|
||||||
:1000EE00FE0643FF20D285E52864016003020297D5
|
|
||||||
:1000FE0002027975FE0643FF10D284E53964016071
|
|
||||||
:10010E000302029702026275FE0643FF10D284E5D7
|
|
||||||
:10011E003A6401600302029702024B75FE0643FF2A
|
|
||||||
:10012E0010D284E53B64016003020297020224753B
|
|
||||||
:10013E00FE0643FF10D284E53C6401600302029781
|
|
||||||
:10014E0002027975FE0643FF08D283E52964016039
|
|
||||||
:10015E000302029702026275FE0643FF01D280E59A
|
|
||||||
:10016E002A6401600302029702022475FE0643FF11
|
|
||||||
:10017E0008D283E52B6401600302029702028F7599
|
|
||||||
:10018E00FE0643FF02D281E52C6401600302029752
|
|
||||||
:10019E0002026275FE0643FF04D282E52D64016001
|
|
||||||
:1001AE000302029702024B75FE0643FF04D282E55C
|
|
||||||
:1001BE002E6401600302029702028F75FE0643FF52
|
|
||||||
:1001CE0004D282E52F640160030202970202627577
|
|
||||||
:1001DE00FE0643FF08D283E53064016003020297F6
|
|
||||||
:1001EE00803475FE0643FF08D283E5316401600357
|
|
||||||
:1001FE00020297807675FE0643FF02D281E53264D5
|
|
||||||
:10020E00016003020297803575FE0643FF02D2811C
|
|
||||||
:10021E00E5336401707375FE0643FF04C2822275D6
|
|
||||||
:10022E00FE0643FF01D280E5346401705C80527596
|
|
||||||
:10023E00FE0643FF01D280E5356401704C75FE0663
|
|
||||||
:10024E0043FF08C2832275FE0643FF01D280E538C4
|
|
||||||
:10025E006401703575FE0643FF20C2852275FE06C9
|
|
||||||
:10026E0043FF04D282E5366401701E75FE0643FF1D
|
|
||||||
:10027E0002C2812275FE0643FF02D281E537B40128
|
|
||||||
:09028E000875FE0643FF10C2844E
|
|
||||||
:010297002244
|
|
||||||
:090BDD007F197825E4F608DFFC1D
|
|
||||||
:010BE60022EC
|
|
||||||
:090BE7007F107829E4F608DFFC18
|
|
||||||
:010BF00022E2
|
|
||||||
:0209C300AE077D
|
|
||||||
:1009C500E4FDFCF9FFFB120BE7EE75F06484F9EE2C
|
|
||||||
:1009D50075F06484ABF0EB75F00A84FFEB75F00AF3
|
|
||||||
:1009E50084ABF0E96006752901752A01E4FDEED3B3
|
|
||||||
:1009F5009409400FEF75F007A424572DF8E6242538
|
|
||||||
:100A0500F87601EB75F007A424572DF8E6FC641879
|
|
||||||
:0C0A15006006742C2CF876010DBD07D291
|
|
||||||
:010A210022B2
|
|
||||||
:100B8300E4FD7E047839E4F608DEFCE4FEEF25E0BC
|
|
||||||
:100B930025E024B12EF8E6FD2425F876010EBE04E7
|
|
||||||
:010BA300EC65
|
|
||||||
:010BA400222E
|
|
||||||
:100BA500E4FD7E047825E4F608DEFCE4FEEF25E0AE
|
|
||||||
:100BB50025E0249D2EF8E6FD2425F876010EBE04D9
|
|
||||||
:010BC500EC43
|
|
||||||
:010BC600220C
|
|
||||||
:05047C00011F0AC11C74
|
|
||||||
:100BC700E5E620E709200706200603301C05C21CBE
|
|
||||||
:060BD7007F00227F0122D5
|
|
||||||
:02048100C11D9B
|
|
||||||
:1009580075FE8075FFB075FE0153FFFC75B7C37552
|
|
||||||
:10096800FE6A53FFE043FF0475FE6C43FF0F758971
|
|
||||||
:1009780001758CFC758A17D2A9D28C438910758DA4
|
|
||||||
:10098800FE758B0BD2ABD28E75868075FE1775FF00
|
|
||||||
:100998003CD2A8D2B9D2AF75F21C75F3C075E80C79
|
|
||||||
:1009A80043B31075FE0F53FFF3AF3E1209C37F0424
|
|
||||||
:0B09B800120B837F04120BA5D21D223E
|
|
||||||
:03000300020006F2
|
|
||||||
:0100060032C7
|
|
||||||
:03004B000200456B
|
|
||||||
:0600450075EB3CD21C32F9
|
|
||||||
:100483000112FF01160001CB00011500C10F011479
|
|
||||||
:1004930000011300011000C10CC111011100C10EB4
|
|
||||||
:0A04A300C10DC112C110C10BC10A46
|
|
||||||
:10029800E4F55378CAE6FF65126019200C0BD20CFE
|
|
||||||
:1002A800EF75F00AA4F53E80548F12EF75F00AA49A
|
|
||||||
:1002B800F51580490510E510D395114040E4F51077
|
|
||||||
:1002C800E5E630E71CE5152409FFE433FEC3E53E07
|
|
||||||
:1002D8009FEE6480F87480985002053E75111E8068
|
|
||||||
:1002E8001220070330060CE53ED395154002153E53
|
|
||||||
:1002F80075113CE53ED394644003753E64200C03BD
|
|
||||||
:100308000203DEE5E630E748301B18E516C3940A19
|
|
||||||
:10031800500C0516753E64AF3E1209C3802E120BB1
|
|
||||||
:10032800DD8029200F1575530D74252553F8E4F643
|
|
||||||
:100338000553E553B414F2D20F8011E53EC394631C
|
|
||||||
:100348004003753E63AF3E1209C3C20FD21180321B
|
|
||||||
:10035800200D06200E0330112620071C200619E563
|
|
||||||
:1003680016C3940450070516AF3E0209C3E4F516F8
|
|
||||||
:10037800C20DC20EC211800AAF3E1209C380031219
|
|
||||||
:100388000BDD300716201213AF14120B830514E58A
|
|
||||||
:1003980014D39404400A7514018005E4FF120B83FA
|
|
||||||
:1003A800300616201013AF13120BA50513E513D34F
|
|
||||||
:1003B8009404400A7513018005E4FF120BA530066A
|
|
||||||
:1003C8001520101230070F20120CE5146513600673
|
|
||||||
:0603D8007513017514010C
|
|
||||||
:0103DE0022FC
|
|
||||||
:1007AB00301636C21620073120062E2000033008E3
|
|
||||||
:1007BB0028E4F5B578CBE6C39403500C0675FE6AB6
|
|
||||||
:1007CB0043FF8043B70C8011C200C208E478CBF61C
|
|
||||||
:1007DB0075FE6A53FF7F53B7F330131BC213120A14
|
|
||||||
:1007EB0074120A22120B5078C5A60608A607120827
|
|
||||||
:1007FB00E51206291206EA30154DC215120298E5CC
|
|
||||||
:10080B001FD394004009151F301C3CC21C803512AD
|
|
||||||
:10081B000BC7EF602F75FE2443FF3CC2ABC2B9C2BE
|
|
||||||
:10082B00A975FE2953FF7F75FE0653FFC075FE8029
|
|
||||||
:10083B0053FFCF43870275FE8043FF30D2B9D2A955
|
|
||||||
:08084B00D2AB8000751F0A22E8
|
|
||||||
:1004AD00C107C10601C70201170001C802011900E9
|
|
||||||
:1004BD00011800011A00C109C101C108C100C10420
|
|
||||||
:0604CD00C102C105C103DC
|
|
||||||
:10062900E5E830E21F0518E518C3940250030206F5
|
|
||||||
:10063900E9E4F51875E80453B7EF43B710C2067833
|
|
||||||
:10064900C77602222017030206E478C7E614601A67
|
|
||||||
:1006590014606E240260030206E9E5B720E406533C
|
|
||||||
:10066900B7EF43B71078C7760122E5E35424642431
|
|
||||||
:10067900701D300206C202D210D2040517E517C355
|
|
||||||
:100689009428405CE4F51753B7EFD209D20822E564
|
|
||||||
:10069900E3542464207019F517300409C204C21008
|
|
||||||
:1006A900851413F516D202300903C20622D2062296
|
|
||||||
:1006B900E5E35424702A78C77602C20DC202C20942
|
|
||||||
:1006C9002253B7EFE4F517C206E5E330E512E47803
|
|
||||||
:1006D900C7F675B501D20D85141322C20653B7EFBB
|
|
||||||
:0106E90022EE
|
|
||||||
:1006EA00E5E830E31F051AE51AC39402500302072E
|
|
||||||
:1006FA00AAE4F51A75E80853B7DF43B720C20778AA
|
|
||||||
:10070A00C87602222017030207A578C8E614601AE1
|
|
||||||
:10071A0014606E240260030207AAE5B720E50653B7
|
|
||||||
:10072A00B7DF43B72078C8760122E5E354886488A6
|
|
||||||
:10073A00701D300306C203D212D2050519E519C38A
|
|
||||||
:10074A009428405CE4F51953B7DFD201D20022E5C0
|
|
||||||
:10075A00E3548864807019F519300509C205C2127C
|
|
||||||
:10076A00851314F516D203300103C20722D20722D9
|
|
||||||
:10077A00E5E35488702A78C87602C20EC203C20121
|
|
||||||
:10078A002253B7DFE4F519C207E5E330E712E4784C
|
|
||||||
:10079A00C8F675B501D20E85131422C20753B7DF06
|
|
||||||
:0107AA00222C
|
|
||||||
:1004D30001CA00C119C11A01C932143F0C800D4869
|
|
||||||
:1004E3000DDE0E740EC90F0A0F5F0F3C0FD210689A
|
|
||||||
:1008E500E4F553F553E55325E0243FF8E6FE08E625
|
|
||||||
:1008F500FFC378C6E69F18E69E40070553E553B447
|
|
||||||
:100905000AE3301D14C21D78CAA653E55375F00AD3
|
|
||||||
:10091500A4F53EFF1209C3D211E553D378CA964018
|
|
||||||
:10092500041806800378C91678C9E6FFD3945A508F
|
|
||||||
:1009350006EFC3940A500778CAA65318763278CAC8
|
|
||||||
:10094500E6FFD394005003D21A22EFD3940140025C
|
|
||||||
:02095500C21AC4
|
|
||||||
:01095700227D
|
|
||||||
:1004F300011C00011B00011D00011E00C116C114D7
|
|
||||||
:04050300C113C1154A
|
|
||||||
:03000B00020AC026
|
|
||||||
:100AC000C0E0C0D074FC258CF58C7417258AF58A9B
|
|
||||||
:100AD000051EE51EC3940A4005751E00D216051BAF
|
|
||||||
:100AE000E51BC394644005751B00D213051CE51C6F
|
|
||||||
:100AF000C394FA4012751C00D214051DE51D940420
|
|
||||||
:0C0B00004005751D00D215D0D0D0E032A9
|
|
||||||
:03001B0002001EC2
|
|
||||||
:10001E00C0E0C0F0C083C082C0D075D008C28F15BA
|
|
||||||
:10002E008D158D740B258BF58B12004ED0D0D08292
|
|
||||||
:07003E00D083D0F0D0E032C6
|
|
||||||
:030BFD00010103F0
|
|
||||||
:1008650002000EE493A3F8E493A34003F68001F29B
|
|
||||||
:1008750008DFF48029E493A3F85407240CC8C33394
|
|
||||||
:10088500C4540F4420C8834004F456800146F6DF63
|
|
||||||
:10089500E4800B01020408102040809003DFE47E11
|
|
||||||
:1008A500019360BCA3FF543F30E509541FFEE49358
|
|
||||||
:1008B500A360010ECF54C025E060A840B8E493A31F
|
|
||||||
:1008C500FAE493A3F8E493A3C8C582C8CAC583CA4A
|
|
||||||
:1008D500F0A3C8C582C8CAC583CADFE9DEE780BE02
|
|
||||||
:0105070000F3
|
|
||||||
:1005080075F008758200EF2FFFEE33FECD33CDCCAA
|
|
||||||
:1005180033CCC58233C5829BED9AEC99E58298402D
|
|
||||||
:100528000CF582EE9BFEED9AFDEC99FC0FD5F0D60A
|
|
||||||
:10053800E4CEFBE4CDFAE4CCF9A88222B800C1B934
|
|
||||||
:100548000059BA002DEC8BF084CFCECDFCE5F0CB72
|
|
||||||
:10055800F97818EF2FFFEE33FEED33FDEC33FCEBAB
|
|
||||||
:1005680033FB10D703994004EB99FB0FD8E5E4F966
|
|
||||||
:10057800FA227818EF2FFFEE33FEED33FDEC33FC53
|
|
||||||
:10058800C933C910D7059BE99A4007EC9BFCE99A47
|
|
||||||
:10059800F90FD8E0E4C9FAE4CCFB2275F010EF2F8C
|
|
||||||
:1005A800FFEE33FEED33FDCC33CCC833C810D7078C
|
|
||||||
:1005B8009BEC9AE899400AED9BFDEC9AFCE899F8C7
|
|
||||||
:0E05C8000FD5F0DAE4CDFBE4CCFAE4C8F9225A
|
|
||||||
:1005D600D083D082F8E4937012740193700DA3A3B4
|
|
||||||
:1005E60093F8740193F5828883E4737402936860C8
|
|
||||||
:0605F600EFA3A3A380DFC8
|
|
||||||
:1005FC00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D8C
|
|
||||||
:10060C00FDE43CFCE8A42EC8C5F03DFDE43CFCEF49
|
|
||||||
:0D061C00A4FFE5F028FEE43DFDE43CFC22D7
|
|
||||||
:00000001FF
|
|
Binary file not shown.
BIN
Out/SY883X_EVB_mcu_2024_09_23_161128.bin
Normal file
BIN
Out/SY883X_EVB_mcu_2024_09_23_161128.bin
Normal file
Binary file not shown.
231
Out/SY883X_EVB_mcu_2024_09_23_161128.hex
Normal file
231
Out/SY883X_EVB_mcu_2024_09_23_161128.hex
Normal file
@ -0,0 +1,231 @@
|
|||||||
|
:03000000020845AE
|
||||||
|
:10084500758E3075D20078FFE4F6D8FD7581CC023F
|
||||||
|
:02085500089207
|
||||||
|
:0C000E0012095CD2AED2BE12079B80F734
|
||||||
|
:0403E40002C900004A
|
||||||
|
:020AFE00AD0742
|
||||||
|
:100B0000E4FCFBFAF559F55A75FE2975FF8BEDC427
|
||||||
|
:100B100054F04401F5A5E5A520E0FBAFA1AB07AF7C
|
||||||
|
:100B2000A2EFFEEEFAEB255AF55AEA3559F5590CC3
|
||||||
|
:100B3000BC08DBE55AAE597803CEC313CE13D8F9FF
|
||||||
|
:010B4000FFB5
|
||||||
|
:010B41002291
|
||||||
|
:100B4200E4F557F5587F05120AFE8E578F587F0637
|
||||||
|
:100B5200120AFEE4FCFDC004A905AA06AB07AE57C3
|
||||||
|
:100B6200AF587C077DD01205FAD0001205428E578D
|
||||||
|
:020B72008F589A
|
||||||
|
:010B7400225E
|
||||||
|
:0203E800C11B37
|
||||||
|
:100A1D00E5E620E70953B3FE75F210C21B22E5F29D
|
||||||
|
:100A2D00540C601053B3FEE5F354C0602E75F20CF8
|
||||||
|
:100A3D0075F3C02275F3C0E5F230E41AC378CAE647
|
||||||
|
:100A4D0094EB18E6940F500575F210800353B3FE26
|
||||||
|
:0C0A5D00D21BE4F5172243B311C21B2288
|
||||||
|
:0403EA00C119C11A5A
|
||||||
|
:100AB500E5E530E103C21922E5E230E705C219D2C6
|
||||||
|
:100AC5001A22301E02802CE5E830E00EC2193013E0
|
||||||
|
:100AD50027C21375E80175B50122D219301A19E537
|
||||||
|
:100AE500E630E714C378CAE6941018E6940E40037E
|
||||||
|
:090AF500C21A22E4F5B5C219226F
|
||||||
|
:1003EE00013EBC19250000000000000000000000C6
|
||||||
|
:1003FE000000000000000000000000000000204689
|
||||||
|
:10040E005B060708090A0B180708181818181806AB
|
||||||
|
:10041E00070C0A09181806070C080918180B0C0700
|
||||||
|
:10042E0008181818060B0C08091818060B0C0809E2
|
||||||
|
:10043E000A1806070818181818060B0C08090A07D8
|
||||||
|
:10044E00060708090B0C1814A1181818180018180C
|
||||||
|
:10045E001800011818000102180001020314B51843
|
||||||
|
:10046E001818181418181814151818141516181416
|
||||||
|
:03047E0015161739
|
||||||
|
:10004E0075FE0653FFC00524E524D39418400375AE
|
||||||
|
:10005E002401E5241205D400B10100C50200D90324
|
||||||
|
:10006E0000ED04010105011506012907013D0801F6
|
||||||
|
:10007E00510901650A01790B018D0C01A10D01B524
|
||||||
|
:10008E000E01C90F01DD1001F01102031202161349
|
||||||
|
:10009E00022D14023D15025416026B17028218002F
|
||||||
|
:1000AE0000029775FE0643FF20D285E525640160A8
|
||||||
|
:1000BE000302029702028F75FE0643FF20D285E5EA
|
||||||
|
:1000CE00266401600302029702024B75FE0643FF8F
|
||||||
|
:1000DE0020D285E52764016003020297020224758F
|
||||||
|
:1000EE00FE0643FF20D285E52864016003020297D5
|
||||||
|
:1000FE0002027975FE0643FF10D284E53964016071
|
||||||
|
:10010E000302029702026275FE0643FF10D284E5D7
|
||||||
|
:10011E003A6401600302029702024B75FE0643FF2A
|
||||||
|
:10012E0010D284E53B64016003020297020224753B
|
||||||
|
:10013E00FE0643FF10D284E53C6401600302029781
|
||||||
|
:10014E0002027975FE0643FF08D283E52964016039
|
||||||
|
:10015E000302029702026275FE0643FF01D280E59A
|
||||||
|
:10016E002A6401600302029702022475FE0643FF11
|
||||||
|
:10017E0008D283E52B6401600302029702028F7599
|
||||||
|
:10018E00FE0643FF02D281E52C6401600302029752
|
||||||
|
:10019E0002026275FE0643FF04D282E52D64016001
|
||||||
|
:1001AE000302029702024B75FE0643FF04D282E55C
|
||||||
|
:1001BE002E6401600302029702028F75FE0643FF52
|
||||||
|
:1001CE0004D282E52F640160030202970202627577
|
||||||
|
:1001DE00FE0643FF08D283E53064016003020297F6
|
||||||
|
:1001EE00803475FE0643FF08D283E5316401600357
|
||||||
|
:1001FE00020297807675FE0643FF02D281E53264D5
|
||||||
|
:10020E00016003020297803575FE0643FF02D2811C
|
||||||
|
:10021E00E5336401707375FE0643FF04C2822275D6
|
||||||
|
:10022E00FE0643FF01D280E5346401705C80527596
|
||||||
|
:10023E00FE0643FF01D280E5356401704C75FE0663
|
||||||
|
:10024E0043FF08C2832275FE0643FF01D280E538C4
|
||||||
|
:10025E006401703575FE0643FF20C2852275FE06C9
|
||||||
|
:10026E0043FF04D282E5366401701E75FE0643FF1D
|
||||||
|
:10027E0002C2812275FE0643FF02D281E537B40128
|
||||||
|
:09028E000875FE0643FF10C2844E
|
||||||
|
:010297002244
|
||||||
|
:090BCF007F197825E4F608DFFC2B
|
||||||
|
:010BD80022FA
|
||||||
|
:090BD9007F107829E4F608DFFC26
|
||||||
|
:010BE20022F0
|
||||||
|
:0209BE00AE0782
|
||||||
|
:1009C000E4FDFCF9FFFB120BD9EE75F06484F9EE3F
|
||||||
|
:1009D00075F06484ABF0EB75F00A84FFEB75F00AF8
|
||||||
|
:1009E00084ABF0E96006752901752A01E4FDEED3B8
|
||||||
|
:1009F0009409400FEF75F007A4245B2DF8E6242539
|
||||||
|
:100A0000F87601EB75F007A4245B2DF8E6FC64187A
|
||||||
|
:0C0A10006006742C2CF876010DBD07D296
|
||||||
|
:010A1C0022B7
|
||||||
|
:100B7500E4FD7E047839E4F608DEFCE4FEEF25E0CA
|
||||||
|
:100B850025E024B52EF8E6FD2425F876010EBE04F1
|
||||||
|
:010B9500EC73
|
||||||
|
:010B9600223C
|
||||||
|
:100B9700E4FD7E047825E4F608DEFCE4FEEF25E0BC
|
||||||
|
:100BA70025E024A12EF8E6FD2425F876010EBE04E3
|
||||||
|
:010BB700EC51
|
||||||
|
:010BB800221A
|
||||||
|
:05048100011E0AC11C70
|
||||||
|
:100BB900E5E220E009200F06200E03301C05C21CC7
|
||||||
|
:060BC9007F00227F0122E3
|
||||||
|
:02048600C11D96
|
||||||
|
:10095C0075FE8075FFB075FE0153FFFC75B7C3754E
|
||||||
|
:10096C00FE6A53FFE043FF0475FE6C43FF0A758972
|
||||||
|
:10097C0001758CFC758A66D2A9D28C438910758D51
|
||||||
|
:10098C00FE758B33D2ABD28E75868075FE1775FFD4
|
||||||
|
:10099C003CD2A8D2B9D2AF75E80C75FE0F53FFF359
|
||||||
|
:1009AC00AF3E1209BE7F04120B757F04120B97D257
|
||||||
|
:0209BC001D22FA
|
||||||
|
:03000300020006F2
|
||||||
|
:0100060032C7
|
||||||
|
:03004B000200456B
|
||||||
|
:0600450075EB3CD21C32F9
|
||||||
|
:100488000112BC011700011800C118011500C1179D
|
||||||
|
:10049800011400011300C11601113C0116000119D5
|
||||||
|
:0104A8000053
|
||||||
|
:10029800E4F55778CCE6FF6512600BEF75F00AA419
|
||||||
|
:1002A800F5158F12804D0510E510D395114044E4E3
|
||||||
|
:1002B800F510E5E630E71CE5152409FFE433FEC335
|
||||||
|
:1002C800E53E9FEE6480F87480985002053E8516DE
|
||||||
|
:1002D800118016200F03300E10E51524F6FFE53EB9
|
||||||
|
:1002E800D39F4002153E851911E53ED3946440031F
|
||||||
|
:1002F800753E642016030203E3E5E630E748301B49
|
||||||
|
:1003080018E517C3940A500C0517753E64AF3E12E2
|
||||||
|
:1003180009BE802E120BCF802920171575570D7432
|
||||||
|
:10032800252557F8E4F60557E557B414F2D2178097
|
||||||
|
:1003380011E53EC394634003753E63AF3E1209BEA8
|
||||||
|
:10034800C217D218802F2006062007033018232052
|
||||||
|
:100358000F19200E16E517C3940450040517800BD7
|
||||||
|
:10036800E4F517C206C207C218800AAF3E1209BEDA
|
||||||
|
:100378008003120BCF300F1C200B19AF14120B7512
|
||||||
|
:100388000514E514D39404400375140175195075C8
|
||||||
|
:10039800161E8005E4FF120B75300E1C200A19AFDB
|
||||||
|
:1003A80013120B970513E513D39404400375130137
|
||||||
|
:1003B80075195075161E8005E4FF120B97300E1B39
|
||||||
|
:1003C800200A18300F15200B12E514651360067506
|
||||||
|
:0B03D800130175140175193C75162304
|
||||||
|
:0103E30022F7
|
||||||
|
:10079B00301538C215200F33200E302000033010D7
|
||||||
|
:1007AB0027E4F5B5E518C39403500D051875FE6ADB
|
||||||
|
:1007BB0043FF8043B70C8010C200C210E4F51875DC
|
||||||
|
:1007CB00FE6A53FF7F53B7F375161430121BC21218
|
||||||
|
:1007DB00120AB5120A1D120B4278C9A60608A60703
|
||||||
|
:1007EB001208D71206271206E130144DC21412025A
|
||||||
|
:1007FB0098E51ED394004009151E301C3CC21C808A
|
||||||
|
:10080B0035120BB9EF602F75FE2443FF3CC2ABC210
|
||||||
|
:10081B00B9C2A975FE2953FF7F75FE0653FFC0753C
|
||||||
|
:10082B00FE8053FFCF43870275FE8043FF30D2B962
|
||||||
|
:0A083B00D2A9D2AB8000751E0A227C
|
||||||
|
:1004A900C10FC10EC107C106C10BC10AC103C102F7
|
||||||
|
:1004B900011C02011D02C111C101C110C100C10409
|
||||||
|
:0A04C900C105C10CC108C10DC10935
|
||||||
|
:10062700E5E830E21E051AE51AC3940250030206F4
|
||||||
|
:10063700E0E4F51A75E80453B7EF43B710C20E7537
|
||||||
|
:100647001C02222019030206D4E51C146011146051
|
||||||
|
:1006570064240260030206E043B710751C0122E51B
|
||||||
|
:10066700E354246424701D300806C208D20AD20C51
|
||||||
|
:10067700051AE51AC394284060E4F51A53B7EFD278
|
||||||
|
:1006870011D21022E5E3542464207019F51A300CB6
|
||||||
|
:1006970006C20CC20AF517D208301103C20E222077
|
||||||
|
:1006A7000437D20E22E5E35424702E751C02C206CD
|
||||||
|
:1006B700C208C2112253B7EFE4F51AC20EE5E330C0
|
||||||
|
:1006C700E517E4F51CC20475B501D20622751C02B4
|
||||||
|
:0906D700C206D204C20E53B7EFB3
|
||||||
|
:0106E00022F7
|
||||||
|
:1006E100E5E830E31E051BE51BC394025003020736
|
||||||
|
:1006F1009AE4F51B75E80853B7DF43B720C20F75BD
|
||||||
|
:100701001D022220190302078EE51D1460111460D9
|
||||||
|
:10071100642402600302079A43B720751D0122E594
|
||||||
|
:10072100E354886488701D300906C209D20BD20DCA
|
||||||
|
:10073100051BE51BC394284060E4F51B53B7DFD2CA
|
||||||
|
:1007410001D20022E5E3548864807019F51B300D55
|
||||||
|
:1007510006C20DC20BF517D209300103C20F2220C8
|
||||||
|
:100761000537D20F22E5E35488702E751D02F51B63
|
||||||
|
:10077100C209C2012253B7DFE4F51BC20FE5E33022
|
||||||
|
:10078100E717E4F51DC20575B501D20722751D02F3
|
||||||
|
:09079100C207D205C20F53B7DF05
|
||||||
|
:01079A00223C
|
||||||
|
:1004D30001CC00C11E01CB32143F0C800D7A0DB646
|
||||||
|
:0E04E3000DE20E060E6A0EBF0F230FA010686A
|
||||||
|
:1008D700E4FFEF25E0243FF8E6FC08E6FDC378CA0D
|
||||||
|
:1008E700E69D18E69C40040FBF0AE778CCE6FEEFCA
|
||||||
|
:1008F700D39E40041806800378CB1678CBE6FED348
|
||||||
|
:10090700945A5006EEC3940A503678CCA607301D89
|
||||||
|
:100917002BC21DC378CAE6954218E695415006E4F6
|
||||||
|
:1009270078CCF6800478CCA60778CCE675F00AA4D4
|
||||||
|
:10093700F53EFF1209BED218D216D21C78CB7632FA
|
||||||
|
:1009470078CCE6FFD394005003D21E22EFD3940154
|
||||||
|
:040957004002C21E7A
|
||||||
|
:01095B002279
|
||||||
|
:1004F100015400015300015500015600C115C113FB
|
||||||
|
:04050100C112C1144E
|
||||||
|
:03000B00020A697D
|
||||||
|
:100A6900C0E0C0D074FC258CF58C7466258AF58AA3
|
||||||
|
:100A79000556E556C3940A4005755600D215055327
|
||||||
|
:100A8900E553C394644005755300D2120554E554E7
|
||||||
|
:100A9900C394FA4012755400D2130555E5559404D0
|
||||||
|
:0C0AA9004005755500D214D0D0D0E032CA
|
||||||
|
:03001B0002001EC2
|
||||||
|
:10001E00C0E0C0F0C083C082C0D075D008C28F15BA
|
||||||
|
:10002E008D158D7433258BF58B12004ED0D0D0826A
|
||||||
|
:07003E00D083D0F0D0E032C6
|
||||||
|
:030BFD00010104EF
|
||||||
|
:1008570002000EE493A3F8E493A34003F68001F2A9
|
||||||
|
:1008670008DFF48029E493A3F85407240CC8C333A2
|
||||||
|
:10087700C4540F4420C8834004F456800146F6DF71
|
||||||
|
:10088700E4800B01020408102040809003E4E47E1A
|
||||||
|
:10089700019360BCA3FF543F30E509541FFEE49366
|
||||||
|
:1008A700A360010ECF54C025E060A840B8E493A32D
|
||||||
|
:1008B700FAE493A3F8E493A3C8C582C8CAC583CA58
|
||||||
|
:1008C700F0A3C8C582C8CAC583CADFE9DEE780BE10
|
||||||
|
:0105050000F5
|
||||||
|
:1005060075F008758200EF2FFFEE33FECD33CDCCAC
|
||||||
|
:1005160033CCC58233C5829BED9AEC99E58298402F
|
||||||
|
:100526000CF582EE9BFEED9AFDEC99FC0FD5F0D60C
|
||||||
|
:10053600E4CEFBE4CDFAE4CCF9A88222B800C1B936
|
||||||
|
:100546000059BA002DEC8BF084CFCECDFCE5F0CB74
|
||||||
|
:10055600F97818EF2FFFEE33FEED33FDEC33FCEBAD
|
||||||
|
:1005660033FB10D703994004EB99FB0FD8E5E4F968
|
||||||
|
:10057600FA227818EF2FFFEE33FEED33FDEC33FC55
|
||||||
|
:10058600C933C910D7059BE99A4007EC9BFCE99A49
|
||||||
|
:10059600F90FD8E0E4C9FAE4CCFB2275F010EF2F8E
|
||||||
|
:1005A600FFEE33FEED33FDCC33CCC833C810D7078E
|
||||||
|
:1005B6009BEC9AE899400AED9BFDEC9AFCE899F8C9
|
||||||
|
:0E05C6000FD5F0DAE4CDFBE4CCFAE4C8F9225C
|
||||||
|
:1005D400D083D082F8E4937012740193700DA3A3B6
|
||||||
|
:1005E40093F8740193F5828883E4737402936860CA
|
||||||
|
:0605F400EFA3A3A380DFCA
|
||||||
|
:1005FA00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D8E
|
||||||
|
:10060A00FDE43CFCE8A42EC8C5F03DFDE43CFCEF4B
|
||||||
|
:0D061A00A4FFE5F028FEE43DFDE43CFC22D9
|
||||||
|
:00000001FF
|
BIN
Out/SY883X_EVB_mcu_2024_09_23_161128_crc(f6d1)_V010104.bin
Normal file
BIN
Out/SY883X_EVB_mcu_2024_09_23_161128_crc(f6d1)_V010104.bin
Normal file
Binary file not shown.
@ -1,71 +0,0 @@
|
|||||||
:: @File Name: HEXBIN.bat
|
|
||||||
:: @Version : 1.0
|
|
||||||
:: @Author : Alex-XU
|
|
||||||
:: @Creat Date : 2023-03-30
|
|
||||||
:: @Brief :
|
|
||||||
:: 在keil中,生成hex、bin文件到 Out 文件夹中.
|
|
||||||
:: 复制本文件到keil工程文件所在目录下(/Project目录下)
|
|
||||||
:: 在keil 魔法棒USER里填写
|
|
||||||
:: .\Out.bat $K !P @P
|
|
||||||
:: $K hextobin转换工具位置 !P 工程名 @P 工程目录
|
|
||||||
:: .\HEXBIN.bat .\Objects\hex2bin_TP.exe mcu \Objects\
|
|
||||||
|
|
||||||
::关闭显示
|
|
||||||
@echo off
|
|
||||||
::获取时间
|
|
||||||
set year=%date:~0,4%
|
|
||||||
set month=%date:~5,2%
|
|
||||||
set day=%date:~8,2%
|
|
||||||
set hour=%time:~0,2%
|
|
||||||
set min=%time:~3,2%
|
|
||||||
set sec=%time:~6,2%
|
|
||||||
::创建输出文件夹 Out
|
|
||||||
if exist .\..\Out (
|
|
||||||
echo Out file exist
|
|
||||||
) else (
|
|
||||||
mkdir .\..\Out
|
|
||||||
)
|
|
||||||
|
|
||||||
::设置hex2bin_TP.exe位置 ,\Objects\hex2bin_TP.exe
|
|
||||||
set exe_location=%1
|
|
||||||
::获取工程名 mcu.hex
|
|
||||||
set project_name=%3
|
|
||||||
::设置.hex文件所在目录路径\Objects\
|
|
||||||
set crc_path=%2
|
|
||||||
::设置.hex文件所在目录路径\Objects\
|
|
||||||
set obj_path=%4
|
|
||||||
::设置输出后的文件名
|
|
||||||
set output_nameTmp=SY883X_EVB_%project_name%_%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
|
|
||||||
::如果hour小于10,会有空格,下面这句话可以除去字符串中的空格,并用0代替。
|
|
||||||
set output_name=%output_nameTmp: =0%
|
|
||||||
|
|
||||||
::将bin文件生成到HEXBIN文件夹 >nul屏蔽成功命令 .\Objects\hex2bin_TP.exe .\Objects\mcu.hex .\Objects\bin.bin 3 0
|
|
||||||
%exe_location% .%obj_path%%project_name%.hex .%obj_path%%output_name%.bin 3 0 >nul
|
|
||||||
::将hex文件重命名
|
|
||||||
ren .%obj_path%%project_name%.hex %output_name%.hex >nul
|
|
||||||
|
|
||||||
ECHO Add CRC16 At the end of the .bin file
|
|
||||||
ECHO -------------------------------------
|
|
||||||
|
|
||||||
SET SREC_PATH=D:\Keil_v5\SREC
|
|
||||||
|
|
||||||
for /f %%i in ('dir /s /b .%obj_path%%output_name%.bin') do (
|
|
||||||
set indexdx=%%~zi
|
|
||||||
)
|
|
||||||
|
|
||||||
ECHO --- size= %indexdx% Bytes ---
|
|
||||||
::计算程序CRC16校验和,并加在.bin文件最后
|
|
||||||
ECHO %SREC_PATH%\srec_cat.exe .%obj_path%%output_name%.bin -Binary -crop 0 %indexdx% -CRC16_Big_Endian %indexdx% -XMODEM -o .%obj_path%%output_name%_crc.bin -Binary
|
|
||||||
%SREC_PATH%\srec_cat.exe .%obj_path%%output_name%.bin -Binary -crop 0 %indexdx% -CRC16_Big_Endian %indexdx% -XMODEM -o .%obj_path%%output_name%_crc.bin -Binary
|
|
||||||
|
|
||||||
::获取软件CRC校验和以及版本号
|
|
||||||
%crc_path% .%obj_path%%output_name%_crc.bin
|
|
||||||
|
|
||||||
del /q ..\Out\*.*
|
|
||||||
::将hex文件复制到HEXBIN文件夹
|
|
||||||
move .%obj_path%%output_name%.hex .\..\Out >nul
|
|
||||||
move .%obj_path%%output_name%.bin .\..\Out >nul
|
|
||||||
::del .%obj_path%%output_name%.hex
|
|
||||||
::del .%obj_path%%output_name%.bin
|
|
||||||
del .%obj_path%%output_name%_crc.bin
|
|
||||||
move .%obj_path%%output_name%_crc(*.bin .\..\Out >nul
|
|
File diff suppressed because one or more lines are too long
@ -1,6 +1,9 @@
|
|||||||
---- P10 Matches (6 in 3 files) ----
|
---- BatLev_Update_Uint_Tim Matches (8 in 1 files) ----
|
||||||
led.h (UsrInc\led) line 195 : #define PIN1_L() do{SFRADDR = P1_OE;SFRDATA |= 0x01;P10 = 0;}while(0) //Set P10 output low Enable.
|
userapp.c (UsrSrc\userapp) line 102 : uint8_t BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_DISCHG;
|
||||||
led.h (UsrInc\led) line 196 : #define PIN1_H() do{SFRADDR = P1_OE;SFRDATA |= 0x01;P10 = 1;}while(0) //Set P10 output high Enable.
|
LED_188Display_App in userapp.c (UsrSrc\userapp) : if( BatLev_Update_Uint_Cnt > BatLev_Update_Uint_Tim )
|
||||||
reg3310.h (UsrInc\inc) line 274 : sbit P10 = P1^0;
|
LED_188Display_App in userapp.c (UsrSrc\userapp) : BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_CHG0;
|
||||||
System_Init in system.c (UsrSrc\system) : P10 = 0;
|
LED_188Display_App in userapp.c (UsrSrc\userapp) : BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_CHG1; //充电35s更新一次电量个位数
|
||||||
EX6_isr in system.c (UsrSrc\system) : P10 = !P10;
|
LED_188Display_App in userapp.c (UsrSrc\userapp) : BatLev_Update_Uint_Tim = 50;
|
||||||
|
LED_188Display_App in userapp.c (UsrSrc\userapp) : BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_DISCHG; //放电180s更新一次电量个位数
|
||||||
|
LED_188Display_App in userapp.c (UsrSrc\userapp) : BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_CHG1; //2只耳机输出,充电
|
||||||
|
UserAPP in userapp.c (UsrSrc\userapp) : BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_CHG0; //无输出充电
|
||||||
|
Binary file not shown.
Binary file not shown.
BIN
UsrDoc/为华软件各个功能模块占用内存大小.xlsx
Normal file
BIN
UsrDoc/为华软件各个功能模块占用内存大小.xlsx
Normal file
Binary file not shown.
BIN
UsrDoc/为华项目功能框图.docx
Normal file
BIN
UsrDoc/为华项目功能框图.docx
Normal file
Binary file not shown.
@ -41,7 +41,7 @@ typedef enum {
|
|||||||
ADC_VREF,
|
ADC_VREF,
|
||||||
}ADC_CHANNELS_E;
|
}ADC_CHANNELS_E;
|
||||||
|
|
||||||
#if NTC_ENABLE
|
#ifdef NTC_ENABLE
|
||||||
extern uint16_t ADC_NTC_Value(void);
|
extern uint16_t ADC_NTC_Value(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
extern bit Charger_Done;
|
extern bit Charger_Done;
|
||||||
|
|
||||||
#if NTC_ENABLE
|
#ifdef NTC_ENABLE
|
||||||
extern bit NTC_Pro_Flag;
|
extern bit NTC_Pro_Flag;
|
||||||
#endif
|
#endif
|
||||||
#if CHARGER_ENABLE
|
#if CHARGER_ENABLE
|
||||||
|
@ -23,16 +23,17 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
/*Function Select,功能选择宏定义*/
|
/*Function Select,功能选择宏定义*/
|
||||||
|
//#define SY8836
|
||||||
|
|
||||||
#define TIMER1_ENABLE 1 //Timer1 定时周期1ms or 100us,主要用于188数码管显示\呼吸灯。(46Bytes)
|
#define TIMER1_ENABLE 1 //Timer1 定时周期1ms or 100us,主要用于188数码管显示\呼吸灯。(46Bytes)
|
||||||
|
|
||||||
#if TIMER1_ENABLE
|
#if TIMER1_ENABLE
|
||||||
|
|
||||||
#define LED_188 1
|
#define LED_188 1 //350Bytes
|
||||||
|
|
||||||
#define DISPLAY_5PIN_188 0 //5PIN 188数码管显示功能,采用Timer1(1ms)定时扫描(631Bytes)
|
#define DISPLAY_5PIN_188 0 //5PIN 188数码管显示功能,采用Timer1(1ms)定时扫描(631Bytes)
|
||||||
|
|
||||||
#define DISPLAY_6PIN_188 1 //6PIN 188数码管显示功能,采用Timer1(1ms)定时扫描(631Bytes)
|
#define DISPLAY_6PIN_188 1 //6PIN 188数码管显示功能,采用Timer1(1ms)定时扫描(1090Bytes)
|
||||||
|
|
||||||
//#define BREATHING_LIGHT //呼吸灯功能,驱动函数置于Timer1中断处理函数中,调用周期100us。(154Bytes)
|
//#define BREATHING_LIGHT //呼吸灯功能,驱动函数置于Timer1中断处理函数中,调用周期100us。(154Bytes)
|
||||||
|
|
||||||
@ -48,21 +49,21 @@
|
|||||||
|
|
||||||
#define KEY_ENABLE 0 //Key功能(96Bytes)
|
#define KEY_ENABLE 0 //Key功能(96Bytes)
|
||||||
|
|
||||||
#define VOX_ENABLE 1 //482Bytes
|
#define VOX_ENABLE 1 //473Bytes
|
||||||
|
|
||||||
#define CHARGER_ENABLE 1 //220Bytes
|
#define CHARGER_ENABLE 1 //79Bytes
|
||||||
|
|
||||||
#define DISCHARGE_ENABLE 1 //110Bytes
|
#define DISCHARGE_ENABLE 1 //87Bytes
|
||||||
|
|
||||||
#define SLEEP_ENABLE 1 //91Bytes
|
#define SLEEP_ENABLE 1 //101Bytes
|
||||||
|
|
||||||
#define ADC_ENABLE 1 //567Bytes
|
#define ADC_ENABLE 1 //494Bytes
|
||||||
|
|
||||||
#if ADC_ENABLE
|
#if ADC_ENABLE
|
||||||
#define NTC_ENABLE 0 //NTC保护功能
|
//#define NTC_ENABLE //NTC保护功能(214Bytes)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BAT_VALUE 1 //147Bytes
|
#define BAT_VALUE 1 //199Bytes
|
||||||
|
|
||||||
//#define _DEBUG_ALL //打开打印功能
|
//#define _DEBUG_ALL //打开打印功能
|
||||||
|
|
||||||
|
@ -25,20 +25,16 @@
|
|||||||
|
|
||||||
//#define FOSC 11059200L
|
//#define FOSC 11059200L
|
||||||
|
|
||||||
#define T1MS 1000
|
#define T1MS 921
|
||||||
#define T100uS 100
|
#define T100uS 91
|
||||||
#define T200uS 200
|
#define T200uS 183
|
||||||
#define T300uS 300
|
#define T300uS 275
|
||||||
#define T400uS 400
|
#define T400uS 368
|
||||||
#define T500uS 500
|
#define T500uS 460
|
||||||
#define T600uS 600
|
#define T600uS 552
|
||||||
#define T800uS 800
|
#define T800uS 736
|
||||||
|
|
||||||
#define T1200uS 1200
|
#define T10MS 9215 //FOSC/12/100
|
||||||
|
|
||||||
#define T10MS 10000 //FOSC/12/100
|
|
||||||
|
|
||||||
#define T10MS_DEBOUNCE_1S 100 //10msÖÜÆÚ¶¨Ê±1s
|
|
||||||
|
|
||||||
#define C_TIM0_Reload (65535 - T1MS) //1ms (65535 - N) * 1/FOSC = Time -> (65535 - N) * 1/11.0592M = 1ms -> 65535 - N = 11059.2 -> N = 65535 - 11059.2
|
#define C_TIM0_Reload (65535 - T1MS) //1ms (65535 - N) * 1/FOSC = Time -> (65535 - N) * 1/11.0592M = 1ms -> 65535 - N = 11059.2 -> N = 65535 - 11059.2
|
||||||
//extern void Sys_Tim0_Init(void );
|
//extern void Sys_Tim0_Init(void );
|
||||||
@ -50,8 +46,8 @@
|
|||||||
#else
|
#else
|
||||||
//#define C_TIM1_Reload (65535 - T300uS) //300us
|
//#define C_TIM1_Reload (65535 - T300uS) //300us
|
||||||
|
|
||||||
#define C_TIM1_Reload (65535 - T500uS) //300us
|
#define C_TIM1_Reload (65535 - T500uS) //500us
|
||||||
#define C_TIM1_Reload1 (65535 - T500uS) //600us
|
#define C_TIM1_Reload1 (65535 - T500uS) //500us
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -27,19 +27,7 @@
|
|||||||
|
|
||||||
extern uint8_t LED_On_Timer; //led亮时间计时
|
extern uint8_t LED_On_Timer; //led亮时间计时
|
||||||
|
|
||||||
#if LED_188
|
extern bit Init_LED_Disp_Flag;
|
||||||
|
|
||||||
extern bit Vor_GetInto_Box_Flag; //耳机入盒标志位
|
|
||||||
extern bit Vol_GetInto_Box_Flag;
|
|
||||||
|
|
||||||
extern bit Vor_GetOut_Box_Flag; //耳机出盒标志位
|
|
||||||
extern bit Vol_GetOut_Box_Flag;
|
|
||||||
|
|
||||||
extern uint8_t Disp_Vor_Lev;
|
|
||||||
extern uint8_t Disp_Vol_Lev;
|
|
||||||
extern bit CHG_LED_Disp_Flag;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern void UserAPP(void);
|
extern void UserAPP(void);
|
||||||
|
|
||||||
|
@ -30,6 +30,16 @@ extern bit Vol_Vout_Enable; //Vol
|
|||||||
extern bit Vor_Chg_Flag; //耳机出入盒标志位
|
extern bit Vor_Chg_Flag; //耳机出入盒标志位
|
||||||
extern bit Vol_Chg_Flag;
|
extern bit Vol_Chg_Flag;
|
||||||
|
|
||||||
|
extern bit Vor_GetInto_Box_Flag; //耳机入盒标志位
|
||||||
|
extern bit Vol_GetInto_Box_Flag;
|
||||||
|
|
||||||
|
extern bit Vor_GetOut_Box_Flag; //耳机出盒标志位
|
||||||
|
extern bit Vol_GetOut_Box_Flag;
|
||||||
|
|
||||||
|
extern uint8_t Disp_Vor_Lev;
|
||||||
|
extern uint8_t Disp_Vol_Lev;
|
||||||
|
extern bit CHG_LED_Disp_Flag;
|
||||||
|
|
||||||
#if VOX_ENABLE
|
#if VOX_ENABLE
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
Macro definitions
|
Macro definitions
|
||||||
@ -81,8 +91,8 @@ typedef enum {
|
|||||||
|
|
||||||
}Vox_State_e;
|
}Vox_State_e;
|
||||||
|
|
||||||
extern idata Vox_State_e Vol_State;
|
extern Vox_State_e Vol_State;
|
||||||
extern idata Vox_State_e Vor_State;
|
extern Vox_State_e Vor_State;
|
||||||
|
|
||||||
extern bit Vor_Vout_Close_Flag;
|
extern bit Vor_Vout_Close_Flag;
|
||||||
extern bit Vol_Vout_Close_Flag;
|
extern bit Vol_Vout_Close_Flag;
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#define FW_VER0 0x01 //程序版本0:代表在硬件存在改动不能兼容之前版本时加1
|
#define FW_VER0 0x01 //程序版本0:代表在硬件存在改动不能兼容之前版本时加1
|
||||||
#define FW_VER1 0x01 //程序版本1:代表在功能存在改动时加1
|
#define FW_VER1 0x01 //程序版本1:代表在功能存在改动时加1
|
||||||
#define FW_VER2 0x03 //程序版本2:代表在软件调试出现不同的测试版本时改动时加1
|
#define FW_VER2 0x04 //程序版本2:代表在软件调试出现不同的测试版本时改动时加1
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
Variables definitions
|
Variables definitions
|
||||||
|
@ -129,7 +129,7 @@ uint16_t ADC_Chn_Data(ADC_CHANNELS_E adc_chn)
|
|||||||
return n_Vbat_Data;
|
return n_Vbat_Data;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if NTC_ENABLE
|
#ifdef NTC_ENABLE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
|
111
UsrSrc/bat/bat.c
111
UsrSrc/bat/bat.c
@ -22,9 +22,11 @@
|
|||||||
#include "userapp.h"
|
#include "userapp.h"
|
||||||
#include "led.h"
|
#include "led.h"
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
#include "vox_module.h"
|
||||||
|
#include "sleep.h"
|
||||||
|
|
||||||
idata uint8_t bat_level = 0;
|
idata uint8_t bat_level = 0;
|
||||||
bit F_batlevel_low = 0; //电池低压
|
//bit F_batlevel_low = 0; //电池低压
|
||||||
|
|
||||||
#if BAT_VALUE
|
#if BAT_VALUE
|
||||||
|
|
||||||
@ -44,47 +46,78 @@ idata uint8_t offset_bat_level = ( C_offset_bat_level_MAX + C_offset_bat_level_M
|
|||||||
/*充电电池电压会浮高,具体电压需要测试。*/
|
/*充电电池电压会浮高,具体电压需要测试。*/
|
||||||
const uint16_t Boost_batlevel_Threshold[C_batLevel_SetMax] =
|
const uint16_t Boost_batlevel_Threshold[C_batLevel_SetMax] =
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
|
|
||||||
3200, //1
|
3200, //1
|
||||||
3400, //2
|
3550, //2
|
||||||
3550, //3
|
3580, //3
|
||||||
3700, //4
|
3620, //4
|
||||||
3785, //5
|
3670, //5
|
||||||
3850, //6
|
3720, //6
|
||||||
3935, //7
|
3800, //7
|
||||||
3900, //8
|
3950, //8
|
||||||
4050, //9
|
4050, //9
|
||||||
4200 //10
|
4200 //10
|
||||||
};
|
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
3200, //1
|
||||||
|
3450, //2
|
||||||
|
3510, //3
|
||||||
|
3554, //4
|
||||||
|
3590, //5
|
||||||
|
3690, //6
|
||||||
|
3775, //7
|
||||||
|
3875, //8
|
||||||
|
4000, //9
|
||||||
|
4200 //10
|
||||||
|
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
#if 0
|
||||||
|
const uint16_t Charger_batlevel_Threshold[C_batLevel_SetMax] =
|
||||||
|
{
|
||||||
|
3400, //1
|
||||||
|
3650, //2
|
||||||
|
3705, //3
|
||||||
|
3745, //4
|
||||||
|
3785, //5
|
||||||
|
3853, //6
|
||||||
|
3945, //7
|
||||||
|
4075, //8
|
||||||
|
4150, //9
|
||||||
|
4200 //10
|
||||||
|
};
|
||||||
|
#endif
|
||||||
void check_bat_level(void)
|
void check_bat_level(void)
|
||||||
{
|
{
|
||||||
uint8_t i = 0;
|
uint8_t i = 0;
|
||||||
|
|
||||||
//get bat level
|
//get bat level
|
||||||
#if ADC_ENABLE
|
#if ADC_ENABLE
|
||||||
|
|
||||||
for(i=0; i < C_batLevel_SetMax; i++)
|
for(i=0; i < C_batLevel_SetMax; i++)
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
if(CHIP_STA4 & 0x80)
|
||||||
|
{
|
||||||
|
if( Vbat_Adc < Charger_batlevel_Threshold[i] )
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
if( Vbat_Adc < Boost_batlevel_Threshold[i] )
|
if( Vbat_Adc < Boost_batlevel_Threshold[i] )
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
/*系统重启后,快速采集电量*/
|
|
||||||
if( System_Init_Flag )
|
|
||||||
{
|
|
||||||
System_Init_Flag = 0;
|
|
||||||
bat_level = i;
|
|
||||||
#if LED_188
|
|
||||||
|
|
||||||
g_188_Num = 10 * bat_level;
|
|
||||||
Display_Show_Num(g_188_Num);
|
|
||||||
|
|
||||||
/*初始化显示电量*/
|
|
||||||
|
|
||||||
CHG_LED_Disp_Flag = 1;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
if( i > bat_level )
|
if( i > bat_level )
|
||||||
{
|
{
|
||||||
offset_bat_level++;
|
offset_bat_level++;
|
||||||
@ -99,6 +132,36 @@ void check_bat_level(void)
|
|||||||
{
|
{
|
||||||
//update
|
//update
|
||||||
bat_level = i;
|
bat_level = i;
|
||||||
|
|
||||||
|
/*系统重启后,显示电量*/
|
||||||
|
if( System_Init_Flag )
|
||||||
|
{
|
||||||
|
System_Init_Flag = 0;
|
||||||
|
|
||||||
|
if( Vbat_Adc < Boost_batlevel_Threshold[1] )
|
||||||
|
{
|
||||||
|
bat_level = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bat_level = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if LED_188
|
||||||
|
g_188_Num = 10 * bat_level;
|
||||||
|
|
||||||
|
Display_Show_Num(g_188_Num);
|
||||||
|
|
||||||
|
/*初始化显示电量*/
|
||||||
|
|
||||||
|
CHG_LED_Disp_Flag = 1;
|
||||||
|
|
||||||
|
Init_LED_Disp_Flag = 1;
|
||||||
|
|
||||||
|
Enter_Sleep_Cnt_Restart_Flag = 1;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
offset_bat_level = ( C_offset_bat_level_MAX + C_offset_bat_level_MIN ) / 2;
|
offset_bat_level = ( C_offset_bat_level_MAX + C_offset_bat_level_MIN ) / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
bit Charger_Done = 0;
|
bit Charger_Done = 0;
|
||||||
|
|
||||||
#if NTC_ENABLE
|
#ifdef NTC_ENABLE
|
||||||
bit NTC_Pro_Flag = 0;
|
bit NTC_Pro_Flag = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ void Charger_Current_Set(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NTC_ENABLE
|
#ifdef NTC_ENABLE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
@ -146,7 +146,7 @@ uint8_t PMU_NTC_Control(void)
|
|||||||
|
|
||||||
if(NTC_Adc >= 2000) ////屏蔽NTC功能,NTC浮空,屏蔽 NTC 功能,并锁定。
|
if(NTC_Adc >= 2000) ////屏蔽NTC功能,NTC浮空,屏蔽 NTC 功能,并锁定。
|
||||||
{
|
{
|
||||||
return TRUE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if(CHIP_STA4 & 0x80)
|
// if(CHIP_STA4 & 0x80)
|
||||||
@ -254,13 +254,10 @@ void Charger_Handler(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else /*充电未超时,存在Plug则清Plugin\Plugout int*/
|
else /*充电未超时,存在Plug则清Plugin\Plugout int*/
|
||||||
{
|
|
||||||
if( IRQ_FLAG10 & 0xC0 )
|
|
||||||
{
|
{
|
||||||
IRQ_FLAG10 = 0xC0; //Clear Plugin\Plugout interrupt
|
IRQ_FLAG10 = 0xC0; //Clear Plugin\Plugout interrupt
|
||||||
}
|
}
|
||||||
}
|
#ifdef NTC_ENABLE
|
||||||
#if NTC_ENABLE
|
|
||||||
|
|
||||||
/*NTC Handle*/ //使能Charger前先检测NTC温度,异常就不开充电。(CHIP_STA4 & 0x80):PG
|
/*NTC Handle*/ //使能Charger前先检测NTC温度,异常就不开充电。(CHIP_STA4 & 0x80):PG
|
||||||
if( PMU_NTC_Control() == FALSE ) //NTC保护,不充电。
|
if( PMU_NTC_Control() == FALSE ) //NTC保护,不充电。
|
||||||
@ -309,7 +306,7 @@ void Charger_Handler(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CHG_CTL |= 0x01; //Enable Charger
|
CHG_CTL |= 0x11; //Enable Charger And Charger Timeout
|
||||||
Charger_Done = 0;
|
Charger_Done = 0;
|
||||||
#ifdef BREATHING_LIGHT //LED UI显示,呼吸灯
|
#ifdef BREATHING_LIGHT //LED UI显示,呼吸灯
|
||||||
Breathing_Light_On = 1;
|
Breathing_Light_On = 1;
|
||||||
|
@ -149,6 +149,7 @@ void DisCharge_Handler(void)
|
|||||||
|
|
||||||
if( F_batlevel_protect )
|
if( F_batlevel_protect )
|
||||||
{
|
{
|
||||||
|
BST_EN = 0;
|
||||||
gBoost_Prepared_Flag = 0;
|
gBoost_Prepared_Flag = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -174,7 +175,7 @@ void DisCharge_Handler(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if NTC_ENABLE
|
#ifdef NTC_ENABLE
|
||||||
/*NTC Handle*/ //使能Boost前先检测NTC温度,异常就不开放电。
|
/*NTC Handle*/ //使能Boost前先检测NTC温度,异常就不开放电。
|
||||||
if( PMU_NTC_Control() == FALSE ) //NTC保护,不放电。
|
if( PMU_NTC_Control() == FALSE ) //NTC保护,不放电。
|
||||||
{
|
{
|
||||||
@ -199,7 +200,7 @@ void DisCharge_Handler(void)
|
|||||||
{
|
{
|
||||||
if( Vbat_Adc >= OPEN_BOOST_VIN )
|
if( Vbat_Adc >= OPEN_BOOST_VIN )
|
||||||
{
|
{
|
||||||
gBoost_Prepared_Flag = 1;
|
// gBoost_Prepared_Flag = 1;
|
||||||
gBoost_UVLO_Flag = 0;
|
gBoost_UVLO_Flag = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -56,7 +56,7 @@ bit Enter_Sleep_Cnt_Restart_Flag = 0;
|
|||||||
*/
|
*/
|
||||||
bool Check_Require_Sleep(void )
|
bool Check_Require_Sleep(void )
|
||||||
{
|
{
|
||||||
if( ( CHIP_STA4 & 0x80 ) || ( ON == Vor_Vout_Enable ) || ( ON == Vol_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*VBUS Power Good存在、有中断、耳机处于充电状态情况下,Boost重载输出,系统不进休眠模式。 */
|
if( ( CHIP_STA0 & 0x01 ) || ( ON == Vor_Vout_Enable ) || ( ON == Vol_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*VBUS Power Good存在、有中断、耳机处于充电状态情况下,Boost重载输出,系统不进休眠模式。 */
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG_SLEEP
|
#ifdef _DEBUG_SLEEP
|
||||||
printf("Protect\r\n");
|
printf("Protect\r\n");
|
||||||
|
@ -100,14 +100,13 @@ void System_Init(void)
|
|||||||
#if VOX_ENABLE
|
#if VOX_ENABLE
|
||||||
//Vox_init(); //上电后,尽快初始化VOX为自动识别模式,为后续识别VOX是否有LOADON做好准备。
|
//Vox_init(); //上电后,尽快初始化VOX为自动识别模式,为后续识别VOX是否有LOADON做好准备。
|
||||||
VOX_CTL0 = 0xC3; //VOX 负载接入、存在识别功能使能,负载自动识别。打开Vox vds钳压环使能(主要用于VOX 5V输出)。
|
VOX_CTL0 = 0xC3; //VOX 负载接入、存在识别功能使能,负载自动识别。打开Vox vds钳压环使能(主要用于VOX 5V输出)。
|
||||||
#if 1
|
|
||||||
SFRADDR = VOX_CON0; //设置VOX输出300mA,负载识别电流4.5uA。
|
SFRADDR = VOX_CON0; //设置VOX输出200mA,负载识别电流4.5uA。
|
||||||
SFRDATA &= 0xE0;
|
SFRDATA &= 0xE0;
|
||||||
SFRDATA |= (VOX_IOUT_200MA << 3) | VOX_ADT_Cur_4_5UA;
|
SFRDATA |= VOX_ADT_Cur_4_5UA;
|
||||||
|
|
||||||
SFRADDR = VOX_CON2; //设置VOX轻重载转换滤波时间。
|
SFRADDR = VOX_CON2; //设置VOX轻重载转换滤波时间。
|
||||||
SFRDATA |= 0x0F;
|
SFRDATA |= 0x0A;
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -138,7 +137,7 @@ void System_Init(void)
|
|||||||
WDTREL = 0x80; //WDTPS = 0,wdt_f = wdt_f1/2;WDTPS = 1,wdt_f = wdt_f1/32;
|
WDTREL = 0x80; //WDTPS = 0,wdt_f = wdt_f1/2;WDTPS = 1,wdt_f = wdt_f1/32;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NTC_ENABLE
|
#ifdef NTC_ENABLE
|
||||||
|
|
||||||
SFRADDR = ADCCS_CTL0; //AD0~AD4 GPIO constant 20uA current source enable.
|
SFRADDR = ADCCS_CTL0; //AD0~AD4 GPIO constant 20uA current source enable.
|
||||||
SFRDATA = 0x10;
|
SFRDATA = 0x10;
|
||||||
@ -149,47 +148,27 @@ void System_Init(void)
|
|||||||
SFRADDR = IRQ_EN3; //INT2 --- VOX EDGE LOADON
|
SFRADDR = IRQ_EN3; //INT2 --- VOX EDGE LOADON
|
||||||
SFRDATA = 0x3C;
|
SFRDATA = 0x3C;
|
||||||
|
|
||||||
#if KEY_ENABLE
|
|
||||||
SFRADDR = IRQ_EN7; //INT4 --- Key Interrupt Flag
|
|
||||||
SFRDATA = 0xF8;
|
|
||||||
#else
|
|
||||||
//SFRADDR = PMU_CTL0;
|
|
||||||
//SFRDATA &= ~0x0A; //Key Detect Disable
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if HALL_ENABLE
|
|
||||||
SFRADDR = IRQ_EN10; //INT4 --- Hall interrupr enable.
|
|
||||||
SFRDATA = 0x0C;
|
|
||||||
#else
|
|
||||||
//SFRADDR = PMU_CTL0;
|
|
||||||
//SFRDATA &= ~0x08; //Hall Detect Disable
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// SFRADDR = IRQ_EN10; //INT6 --- ADC interrupr enable.
|
|
||||||
// SFRDATA = 0x01;
|
|
||||||
|
|
||||||
// IRQ_FLAG10 = 1; //Write 1 to clear
|
|
||||||
|
|
||||||
/* 开外部中断使能 */
|
/* 开外部中断使能 */
|
||||||
EX0 = 1;
|
EX0 = 1;
|
||||||
EX2 = 1;
|
EX2 = 1;
|
||||||
// EX6 = 1;
|
|
||||||
|
|
||||||
EAL = 1; //开总中断。
|
EAL = 1; //开总中断。
|
||||||
|
|
||||||
IRQ_FLAG9 = 0x1C; //清 Charge complete Int、Tricle/Fast Charge Time expire Int
|
//IRQ_FLAG9 = 0x1C; //清 Charge complete Int、Tricle/Fast Charge Time expire Int
|
||||||
IRQ_FLAG10 = 0xC0; //清 VBUS Plugin\Plugout Int
|
//IRQ_FLAG10 = 0xC0; //清 VBUS Plugin\Plugout Int
|
||||||
IRQ_FLAG0 = 0x0C; //Vox短路保护
|
IRQ_FLAG0 = 0x0C; //Vox短路保护
|
||||||
|
|
||||||
#if CHARGER_ENABLE
|
#if CHARGER_ENABLE
|
||||||
|
|
||||||
// SFRADDR = PMU_CTL7; //合封芯片关闭VBUS OV检测使能
|
#ifdef SY8836
|
||||||
// SFRDATA &= ~0x20;
|
SFRADDR = PMU_CTL7; //合封芯片关闭VBUS OV检测使能
|
||||||
|
SFRDATA &= ~0x20;
|
||||||
|
|
||||||
// SFRADDR = REG_CHG0;
|
SFRADDR = REG_CHG0;
|
||||||
// SFRDATA |= 0x04; //关VDPM环
|
SFRDATA |= 0x04; //关VDPM环
|
||||||
|
#endif
|
||||||
|
|
||||||
CHG_CTL |= 0x10; //开启充电超时使能
|
// CHG_CTL |= 0x10; //开启充电超时使能
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -209,6 +188,9 @@ void System_Init(void)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// SFRADDR = P1_OE;
|
||||||
|
// SFRDATA |= 0x01;
|
||||||
|
|
||||||
System_Init_Flag = 1;
|
System_Init_Flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -276,6 +276,8 @@ void tim1_Interrupt(void) interrupt Interrupt_Vector_TF1 using 1 //interrupt ad
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// P10 = !P10;
|
||||||
|
|
||||||
#if DISPLAY_6PIN_188
|
#if DISPLAY_6PIN_188
|
||||||
|
|
||||||
Display_Scan_6Pin_188();
|
Display_Scan_6Pin_188();
|
||||||
|
@ -43,9 +43,18 @@
|
|||||||
#define LED_NUM_UNIT_CNT 1
|
#define LED_NUM_UNIT_CNT 1
|
||||||
#define LED_COVER_CNT 4 //开关盖显示4s后熄灭
|
#define LED_COVER_CNT 4 //开关盖显示4s后熄灭
|
||||||
|
|
||||||
#define BATLEV_UPDATE_UINT_TIM_CHG 30
|
#define BATLEV_UPDATE_UINT_TIM_CHG0 20 //无输出充电时间
|
||||||
|
|
||||||
|
#define BATLEV_UPDATE_UINT_TIM_CHG1 30 //40mA输出充电时间。
|
||||||
|
|
||||||
|
#define BATLEV_UPDATE_UINT_TIM_CHG2 35 //80mA输出充电时间。
|
||||||
|
|
||||||
|
|
||||||
|
#define BATLEV_UPDATE_UINT_TIM_DISCHG0 60 //80mA放电时间
|
||||||
|
|
||||||
|
#define BATLEV_UPDATE_UINT_TIM_DISCHG1 80 //40mA放电时间
|
||||||
|
|
||||||
|
|
||||||
#define BATLEV_UPDATE_UINT_TIM_DISCHG 60
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define VOX_RST_CNT 3
|
#define VOX_RST_CNT 3
|
||||||
@ -53,11 +62,13 @@
|
|||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
Variables definitions
|
Variables definitions
|
||||||
\******************************************************************************/
|
\******************************************************************************/
|
||||||
uint8_t bat_level_update = 0xFF;
|
uint8_t bat_level_update = 188;
|
||||||
|
|
||||||
uint8_t LED_On_Timer = 0; //led亮时间计时
|
uint8_t LED_On_Timer = 0; //led亮时间计时
|
||||||
|
|
||||||
idata uint8_t Vox_Rst_Debounce = 0;
|
uint8_t Vox_Rst_Debounce = 0;
|
||||||
|
|
||||||
|
bit CHG_LED_Disp_Flag = 0;
|
||||||
|
|
||||||
#if LED_188
|
#if LED_188
|
||||||
|
|
||||||
@ -68,8 +79,6 @@ bit LED_188_Disp_Flg = 0;
|
|||||||
uint8_t Disp_Vor_Lev = 0;
|
uint8_t Disp_Vor_Lev = 0;
|
||||||
uint8_t Disp_Vol_Lev = 0;
|
uint8_t Disp_Vol_Lev = 0;
|
||||||
|
|
||||||
uint8_t BatLev_Update_Uint_Cnt = 0;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
@ -96,36 +105,33 @@ uint8_t BatLev_Update_Uint_Cnt = 0;
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
bit Init_LED_Disp_Flag = 0;
|
bit Init_LED_Disp_Flag = 0;
|
||||||
bit CHG_LED_Disp_Flag = 0;
|
|
||||||
uint8_t BatLev_Update_Uint_Tim = 0;
|
|
||||||
bit Vor_GetInto_Box_Flag = 0; //耳机入盒标志位
|
|
||||||
bit Vol_GetInto_Box_Flag = 0;
|
|
||||||
|
|
||||||
bit Vor_GetOut_Box_Flag = 0; //耳机出盒标志位
|
uint8_t BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_DISCHG0;
|
||||||
bit Vol_GetOut_Box_Flag = 0;
|
|
||||||
|
uint8_t BatLev_Update_Uint_CHG_Tim = 0;
|
||||||
|
uint8_t BatLev_Update_Uint_DisCHG_Tim = 0;
|
||||||
|
|
||||||
bit Vor_GetOut_Box_Flag1 = 0; //耳机出盒标志位
|
|
||||||
bit Vol_GetOut_Box_Flag1 = 0;
|
|
||||||
|
|
||||||
void LED_188Display_App(void)
|
void LED_188Display_App(void)
|
||||||
{
|
{
|
||||||
uint8_t i = 0;
|
uint8_t i = 0;
|
||||||
|
static uint8_t BatLev_Update_Uint_Cnt;
|
||||||
|
|
||||||
if (bat_level_update != bat_level) //电量发生变化,不能立刻变化,需要缓慢变化
|
if (bat_level_update != bat_level) //电量发生变化,不能立刻变化,需要缓慢变化
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
if( !Init_LED_Disp_Flag )
|
if( !Init_LED_Disp_Flag )
|
||||||
{
|
|
||||||
//if( bat_level != 0 )
|
|
||||||
{
|
{
|
||||||
Init_LED_Disp_Flag = 1;
|
Init_LED_Disp_Flag = 1;
|
||||||
g_188_Num = bat_level * 10;
|
g_188_Num = bat_level * 10;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
bat_level_update = bat_level;
|
|
||||||
bat_level_Disp_Num = 10 * bat_level;
|
bat_level_Disp_Num = 10 * bat_level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bat_level_update = bat_level;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -142,18 +148,19 @@ void LED_188Display_App(void)
|
|||||||
g_188_Num += 1;
|
g_188_Num += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_CHG; //充电30s更新一次电量个位数
|
BatLev_Update_Uint_Tim = BatLev_Update_Uint_CHG_Tim; //充电30s更新一次电量个位数
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( ( Vor_Vout_Enable == ON ) || ( Vol_Vout_Enable == ON ) ) //有耳机充电,电量才减
|
if( ( Vor_Vout_Enable == ON ) || ( Vol_Vout_Enable == ON ) ) //有耳机充电,电量才减
|
||||||
{
|
{
|
||||||
if( g_188_Num > bat_level_Disp_Num )
|
|
||||||
|
if( g_188_Num > (bat_level_Disp_Num - 10) )
|
||||||
{
|
{
|
||||||
g_188_Num -= 1;
|
g_188_Num -= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_DISCHG; //放电60更新一次电量个位数
|
BatLev_Update_Uint_Tim = BatLev_Update_Uint_DisCHG_Tim; //放电60s更新一次电量个位数
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,7 +171,7 @@ void LED_188Display_App(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if NTC_ENABLE
|
#ifdef NTC_ENABLE
|
||||||
/*NTC保护*/
|
/*NTC保护*/
|
||||||
if( NTC_Pro_Flag )
|
if( NTC_Pro_Flag )
|
||||||
{
|
{
|
||||||
@ -252,14 +259,15 @@ void LED_188Display_App(void)
|
|||||||
{
|
{
|
||||||
LED_On_Timer++;
|
LED_On_Timer++;
|
||||||
Display_Show_Num(g_188_Num);
|
Display_Show_Num(g_188_Num);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
LED_On_Timer = 0;
|
LED_On_Timer = 0;
|
||||||
Vol_GetInto_Box_Flag = 0;
|
Vol_GetInto_Box_Flag = 0;
|
||||||
Vor_GetInto_Box_Flag = 0;
|
Vor_GetInto_Box_Flag = 0;
|
||||||
CHG_LED_Disp_Flag = 0;
|
CHG_LED_Disp_Flag = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else //盒子里有耳机,则显示电量
|
else //盒子里有耳机,则显示电量
|
||||||
{
|
{
|
||||||
Display_Show_Num(g_188_Num);
|
Display_Show_Num(g_188_Num);
|
||||||
@ -282,6 +290,9 @@ void LED_188Display_App(void)
|
|||||||
{
|
{
|
||||||
Disp_Vor_Lev = 1;
|
Disp_Vor_Lev = 1;
|
||||||
}
|
}
|
||||||
|
/*1只耳机放电,设置充放电时间*/
|
||||||
|
BatLev_Update_Uint_DisCHG_Tim = BATLEV_UPDATE_UINT_TIM_DISCHG1;
|
||||||
|
BatLev_Update_Uint_CHG_Tim = BATLEV_UPDATE_UINT_TIM_CHG1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -296,6 +307,9 @@ void LED_188Display_App(void)
|
|||||||
{
|
{
|
||||||
Disp_Vol_Lev = 1;
|
Disp_Vol_Lev = 1;
|
||||||
}
|
}
|
||||||
|
/*1只耳机放电,设置充放电时间*/
|
||||||
|
BatLev_Update_Uint_DisCHG_Tim = BATLEV_UPDATE_UINT_TIM_DISCHG1;
|
||||||
|
BatLev_Update_Uint_CHG_Tim = BATLEV_UPDATE_UINT_TIM_CHG1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -309,6 +323,9 @@ void LED_188Display_App(void)
|
|||||||
Disp_Vol_Lev = 1;
|
Disp_Vol_Lev = 1;
|
||||||
Disp_Vor_Lev = 1;
|
Disp_Vor_Lev = 1;
|
||||||
}
|
}
|
||||||
|
/*2只耳机同时放电,设置充放电时间*/
|
||||||
|
BatLev_Update_Uint_DisCHG_Tim = BATLEV_UPDATE_UINT_TIM_DISCHG0;
|
||||||
|
BatLev_Update_Uint_CHG_Tim = BATLEV_UPDATE_UINT_TIM_CHG2;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -364,6 +381,13 @@ void UserAPP(void)
|
|||||||
VOX_CTL0 &= ~0x0C;
|
VOX_CTL0 &= ~0x0C;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if DISPLAY_6PIN_188
|
||||||
|
|
||||||
|
BatLev_Update_Uint_CHG_Tim = BATLEV_UPDATE_UINT_TIM_CHG0;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -460,7 +484,7 @@ void UserAPP(void)
|
|||||||
#if UART0_ENABLE
|
#if UART0_ENABLE
|
||||||
ES0 = 0; //UART0 IRQ Disable
|
ES0 = 0; //UART0 IRQ Disable
|
||||||
#endif
|
#endif
|
||||||
//EX4 = 0;
|
|
||||||
EX2 = 0;
|
EX2 = 0;
|
||||||
ET0 = 0; //timer0 IRQ Disable
|
ET0 = 0; //timer0 IRQ Disable
|
||||||
|
|
||||||
@ -484,9 +508,10 @@ void UserAPP(void)
|
|||||||
#if UART0_ENABLE
|
#if UART0_ENABLE
|
||||||
ES0 = 1; //UART0 IRQ
|
ES0 = 1; //UART0 IRQ
|
||||||
#endif
|
#endif
|
||||||
//EX4 = 1;
|
|
||||||
EX2 = 1;
|
EX2 = 1;
|
||||||
ET0 = 1; //timer0 IRQ
|
ET0 = 1; //timer0 IRQ
|
||||||
|
|
||||||
#if TIMER1_ENABLE
|
#if TIMER1_ENABLE
|
||||||
ET1 = 1; //timer1 IRQ
|
ET1 = 1; //timer1 IRQ
|
||||||
#endif
|
#endif
|
||||||
|
@ -27,6 +27,15 @@
|
|||||||
bit Vor_Vout_Enable = OFF; //OFF:用于BOOST开启后延时开启VOUT输出;TRUE:用于判断是正常充电还是IOFF充电。
|
bit Vor_Vout_Enable = OFF; //OFF:用于BOOST开启后延时开启VOUT输出;TRUE:用于判断是正常充电还是IOFF充电。
|
||||||
bit Vol_Vout_Enable = OFF;
|
bit Vol_Vout_Enable = OFF;
|
||||||
|
|
||||||
|
bit Vor_GetInto_Box_Flag = 0; //耳机入盒标志位
|
||||||
|
bit Vol_GetInto_Box_Flag = 0;
|
||||||
|
|
||||||
|
bit Vor_GetOut_Box_Flag = 0; //耳机出盒标志位
|
||||||
|
bit Vol_GetOut_Box_Flag = 0;
|
||||||
|
|
||||||
|
bit Vor_GetOut_Box_Flag1 = 0; //耳机出盒标志位
|
||||||
|
bit Vol_GetOut_Box_Flag1 = 0;
|
||||||
|
|
||||||
#if VOX_ENABLE
|
#if VOX_ENABLE
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
@ -39,16 +48,16 @@ bit Vol_Vout_Enable = OFF;
|
|||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
Variables definitions
|
Variables definitions
|
||||||
\******************************************************************************/
|
\******************************************************************************/
|
||||||
idata Vox_State_e Vol_State = VOX_NONE_IN_BOX;
|
Vox_State_e Vol_State = VOX_NONE_IN_BOX;
|
||||||
|
|
||||||
uint8_t Vol_Ioff_Det_Debounce = 0;
|
//uint8_t Vol_Ioff_Det_Debounce = 0;
|
||||||
|
|
||||||
idata Vox_State_e Vor_State = VOX_NONE_IN_BOX;
|
Vox_State_e Vor_State = VOX_NONE_IN_BOX;
|
||||||
|
|
||||||
uint8_t Vor_Ioff_Det_Debounce = 0;
|
//uint8_t Vor_Ioff_Det_Debounce = 0;
|
||||||
|
|
||||||
uint8_t Vol_Output_Short_Debounce = 0;
|
//uint8_t Vol_Output_Debounce = 0;
|
||||||
uint8_t Vor_Output_Short_Debounce = 0;
|
//uint8_t Vor_Output_Debounce = 0;
|
||||||
|
|
||||||
bit Vol_Bat_Full_Flag = 0;
|
bit Vol_Bat_Full_Flag = 0;
|
||||||
bit Vor_Bat_Full_Flag = 0;
|
bit Vor_Bat_Full_Flag = 0;
|
||||||
@ -56,100 +65,14 @@ bit Vor_Bat_Full_Flag = 0;
|
|||||||
bit Vol_Vout_Close_Flag = 0;
|
bit Vol_Vout_Close_Flag = 0;
|
||||||
bit Vor_Vout_Close_Flag = 0;
|
bit Vor_Vout_Close_Flag = 0;
|
||||||
|
|
||||||
|
bit Vol_Bat_Low_Flag = 0;
|
||||||
|
bit Vor_Bat_Low_Flag = 0;
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************\
|
/******************************************************************************\
|
||||||
Functions definitions
|
Functions definitions
|
||||||
\******************************************************************************/
|
\******************************************************************************/
|
||||||
|
|
||||||
/*
|
|
||||||
*******************************************************************************
|
|
||||||
* void Vox_init(void)
|
|
||||||
*
|
|
||||||
* Description : Vox Initialization :Vox初始化函数
|
|
||||||
*
|
|
||||||
* Arguments : NONE
|
|
||||||
|
|
||||||
* Returns : NONE
|
|
||||||
|
|
||||||
* Notes : NONE
|
|
||||||
*
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
#if 0
|
|
||||||
void Vox_init(void)
|
|
||||||
{
|
|
||||||
VOX_CTL0 = 0xC3; //VOX 负载接入、存在识别功能使能,负载自动识别。打开Vox vds钳压环使能(主要用于VOX 5V输出)。
|
|
||||||
/*
|
|
||||||
SFRADDR = VOX_CON0; //设置VOX输出500mA,负载识别电流2.5uA。
|
|
||||||
SFRDATA &= 0xE0;
|
|
||||||
SFRDATA |= (VOX_IOUT_500MA << 3) | VOX_ADT_Cur_2_5UA;
|
|
||||||
*/
|
|
||||||
Vol_State = VOX_NONE_IN_BOX;
|
|
||||||
|
|
||||||
Vor_State = VOX_NONE_IN_BOX;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#if 0
|
|
||||||
/*
|
|
||||||
*******************************************************************************
|
|
||||||
* uint8_t VOL_EN_Type(VOL_Enable_Type_e VOL_Enable_Type)
|
|
||||||
*
|
|
||||||
* Description : VOL Open(EN_VO)
|
|
||||||
|
|
||||||
* Arguments :
|
|
||||||
|
|
||||||
* Returns :
|
|
||||||
|
|
||||||
* Notes :
|
|
||||||
*
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
void VOL_EN_Type(VOX_Enable_Mode_e VOL_Enable_Mode)
|
|
||||||
{
|
|
||||||
if(VOL_Enable_Mode == VOX_VOUT_Mode )
|
|
||||||
{
|
|
||||||
VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT
|
|
||||||
|
|
||||||
VOX_CTL0 |= 0x10; //VOL Enable 5V
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
VOX_CTL0 &= ~0x10; //VOL 5v Off
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
*******************************************************************************
|
|
||||||
* void VOR_EN_Type(VOR_Enable_Type_e VOR_Enable_Type)
|
|
||||||
*
|
|
||||||
* Description : VOL Open(EN_VO)
|
|
||||||
|
|
||||||
* Arguments :
|
|
||||||
|
|
||||||
* Returns :
|
|
||||||
|
|
||||||
* Notes :
|
|
||||||
*
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
void VOR_EN_Type(VOX_Enable_Mode_e VOR_Enable_Mode)
|
|
||||||
{
|
|
||||||
|
|
||||||
if(VOR_Enable_Mode == VOX_VOUT_Mode )
|
|
||||||
{
|
|
||||||
VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT
|
|
||||||
|
|
||||||
VOX_CTL0 |= 0x20; //VOR Enable 5V
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
VOX_CTL0 &= ~0x20; //VOR 5v Off
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
* void Vol_Det_Machine(void)
|
* void Vol_Det_Machine(void)
|
||||||
@ -172,13 +95,15 @@ bit Vol_Intobox_Disp_Flag = 0;
|
|||||||
#endif
|
#endif
|
||||||
void Vol_Det_Machine(void)
|
void Vol_Det_Machine(void)
|
||||||
{
|
{
|
||||||
|
static uint8_t Vol_Output_Debounce;
|
||||||
|
|
||||||
/*Vol 过流保护,每隔200ms打嗝一次*/
|
/*Vol 过流保护,每隔200ms打嗝一次*/
|
||||||
if( IRQ_FLAG0 & 0x04 )
|
if( IRQ_FLAG0 & 0x04 )
|
||||||
{
|
{
|
||||||
Vol_Output_Short_Debounce++;
|
Vol_Output_Debounce++;
|
||||||
if( Vol_Output_Short_Debounce >= 2 ) //Vor短路保护200ms后,重新开启ADT
|
if( Vol_Output_Debounce >= 2 ) //Vor短路保护200ms后,重新开启ADT
|
||||||
{
|
{
|
||||||
Vol_Output_Short_Debounce = 0;
|
Vol_Output_Debounce = 0;
|
||||||
|
|
||||||
IRQ_FLAG0 = 0x04;
|
IRQ_FLAG0 = 0x04;
|
||||||
|
|
||||||
@ -198,11 +123,7 @@ void Vol_Det_Machine(void)
|
|||||||
{
|
{
|
||||||
case VOX_GET_INTO_BOX: //耳机入仓
|
case VOX_GET_INTO_BOX: //耳机入仓
|
||||||
|
|
||||||
if( (VOX_CTL0 & 0x10) != 0x10 ) //1、当前已经开启了VOUT,则无需重复开启;原因:在使能VOUT前需要先关闭VOUT使能,如果连续开,会出现一段时间断开的情况。
|
|
||||||
{
|
|
||||||
VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT
|
|
||||||
VOX_CTL0 |= 0x10; //VOL Enable 5V
|
VOX_CTL0 |= 0x10; //VOL Enable 5V
|
||||||
}
|
|
||||||
|
|
||||||
Vol_State = VOX_STAY_IN_BOX;
|
Vol_State = VOX_STAY_IN_BOX;
|
||||||
break;
|
break;
|
||||||
@ -219,10 +140,10 @@ void Vol_Det_Machine(void)
|
|||||||
Vol_Outbox_Disp_Flag = 1;
|
Vol_Outbox_Disp_Flag = 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Vol_Ioff_Det_Debounce++;
|
Vol_Output_Debounce++;
|
||||||
if( Vol_Ioff_Det_Debounce >= VOX_IOFF_DET_DEBOUNCE ) //重载转轻载(耳机出仓后)需延时4s
|
if( Vol_Output_Debounce >= VOX_IOFF_DET_DEBOUNCE ) //重载转轻载(耳机出仓后)需延时4s
|
||||||
{
|
{
|
||||||
Vol_Ioff_Det_Debounce = 0;
|
Vol_Output_Debounce = 0;
|
||||||
|
|
||||||
VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT
|
VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT
|
||||||
|
|
||||||
@ -237,13 +158,14 @@ void Vol_Det_Machine(void)
|
|||||||
else
|
else
|
||||||
if( (CHIP_STA1 & 0x24) == 0x20 ) //观察CHIP_STA1的状态,无IOFF有Loadon,说明:1、耳机出仓后4s内,耳机再次入仓;2、10分钟未满,耳机电池退出锂保状态,进入正常充电;
|
if( (CHIP_STA1 & 0x24) == 0x20 ) //观察CHIP_STA1的状态,无IOFF有Loadon,说明:1、耳机出仓后4s内,耳机再次入仓;2、10分钟未满,耳机电池退出锂保状态,进入正常充电;
|
||||||
{
|
{
|
||||||
Vol_Ioff_Det_Debounce = 0;
|
Vol_Output_Debounce = 0;
|
||||||
|
|
||||||
|
|
||||||
#if LED_188
|
#if LED_188
|
||||||
if( Vol_Outbox_Disp_Flag ) //左耳4s内再次入盒,左耳对应的图标闪一次
|
if( Vol_Outbox_Disp_Flag ) //左耳4s内再次入盒,左耳对应的图标闪一次
|
||||||
{
|
{
|
||||||
Vol_Outbox_Disp_Flag = 0;
|
Vol_Outbox_Disp_Flag = 0;
|
||||||
Vol_GetOut_Box_Flag = 0;
|
Vol_GetOut_Box_Flag = 0;
|
||||||
Disp_Vol_Lev = Disp_Vor_Lev;
|
|
||||||
LED_On_Timer = 0;
|
LED_On_Timer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,10 +179,13 @@ void Vol_Det_Machine(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if( !Vol_Bat_Low_Flag )
|
||||||
{
|
{
|
||||||
Vol_Vout_Enable = ON; //正常充电标志置ON。
|
Vol_Vout_Enable = ON; //正常充电标志置ON。
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
if( !(CHIP_STA1 & 0x24) ) //CHIP_STA1无loadon和ioff状态,则说明耳机出仓了。
|
if( !(CHIP_STA1 & 0x24) ) //CHIP_STA1无loadon和ioff状态,则说明耳机出仓了。
|
||||||
{
|
{
|
||||||
@ -280,23 +205,22 @@ void Vol_Det_Machine(void)
|
|||||||
|
|
||||||
case VOX_NONE_IN_BOX: //空仓
|
case VOX_NONE_IN_BOX: //空仓
|
||||||
|
|
||||||
//VOL_EN_Type(VOX_ADT_Mode);
|
|
||||||
VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT
|
VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT
|
||||||
|
|
||||||
Vol_Ioff_Det_Debounce = 0;
|
Vol_Output_Debounce = 0;
|
||||||
Vol_Vout_Enable = OFF;
|
Vol_Vout_Enable = OFF;
|
||||||
|
|
||||||
if( CHIP_STA1 & 0x20 ) //ADT模式下出现Loadon信号,则说明有耳机入仓。
|
if( CHIP_STA1 & 0x20 ) //ADT模式下出现Loadon信号,则说明有耳机入仓。
|
||||||
{
|
{
|
||||||
Vol_State = VOX_GET_INTO_BOX;
|
Vol_State = VOX_GET_INTO_BOX;
|
||||||
|
|
||||||
|
Vol_Bat_Low_Flag = 0;
|
||||||
#if DISCHARGE_ENABLE
|
#if DISCHARGE_ENABLE
|
||||||
BST_EN = 1; //Boost Enable;异常时由硬件主动关闭。
|
BST_EN = 1; //Boost Enable;异常时由硬件主动关闭。
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LED_188
|
#if LED_188
|
||||||
Vol_GetInto_Box_Flag = 1;
|
Vol_GetInto_Box_Flag = 1;
|
||||||
Disp_Vol_Lev = Disp_Vor_Lev;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _DEBUG_VOX
|
#ifdef _DEBUG_VOX
|
||||||
@ -312,7 +236,13 @@ void Vol_Det_Machine(void)
|
|||||||
}
|
}
|
||||||
else //Boost保护后,VOX恢复到最初状态。
|
else //Boost保护后,VOX恢复到最初状态。
|
||||||
{
|
{
|
||||||
// Vol_State = VOX_NONE_IN_BOX;
|
Vol_State = VOX_NONE_IN_BOX;
|
||||||
|
|
||||||
|
Vol_GetInto_Box_Flag = 0;
|
||||||
|
|
||||||
|
Vol_Bat_Low_Flag = 1;
|
||||||
|
|
||||||
|
//Vol_GetInto_Box_Flag = 1;
|
||||||
|
|
||||||
Vol_Vout_Enable = OFF;
|
Vol_Vout_Enable = OFF;
|
||||||
|
|
||||||
@ -341,13 +271,15 @@ bit Vor_Intobox_Disp_Flag = 0;
|
|||||||
#endif
|
#endif
|
||||||
void Vor_Det_Machine(void)
|
void Vor_Det_Machine(void)
|
||||||
{
|
{
|
||||||
|
static uint8_t Vor_Output_Debounce;
|
||||||
|
|
||||||
/*Vor 过流保护(读中断标志位),每隔200ms打嗝一次*/
|
/*Vor 过流保护(读中断标志位),每隔200ms打嗝一次*/
|
||||||
if( IRQ_FLAG0 & 0x08 )
|
if( IRQ_FLAG0 & 0x08 )
|
||||||
{
|
{
|
||||||
Vor_Output_Short_Debounce++;
|
Vor_Output_Debounce++;
|
||||||
if( Vor_Output_Short_Debounce >= 2 ) //Vor短路保护200ms后,重新开启ADT
|
if( Vor_Output_Debounce >= 2 ) //Vor短路保护200ms后,重新开启ADT
|
||||||
{
|
{
|
||||||
Vor_Output_Short_Debounce = 0;
|
Vor_Output_Debounce = 0;
|
||||||
|
|
||||||
IRQ_FLAG0 = 0x08;
|
IRQ_FLAG0 = 0x08;
|
||||||
|
|
||||||
@ -367,11 +299,8 @@ void Vor_Det_Machine(void)
|
|||||||
{
|
{
|
||||||
case VOX_GET_INTO_BOX: //耳机入仓
|
case VOX_GET_INTO_BOX: //耳机入仓
|
||||||
|
|
||||||
if( (VOX_CTL0 & 0x20) != 0x20 ) //1、当前已经开启了VOUT,则无需重复开启;原因:在使能VOUT前需要先关闭VOUT使能,如果连续开,会出现一段时间断开的情况。
|
|
||||||
{
|
|
||||||
VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT
|
|
||||||
VOX_CTL0 |= 0x20; //VOR Enable 5V
|
VOX_CTL0 |= 0x20; //VOR Enable 5V
|
||||||
}
|
|
||||||
Vor_State = VOX_STAY_IN_BOX;
|
Vor_State = VOX_STAY_IN_BOX;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -388,10 +317,10 @@ void Vor_Det_Machine(void)
|
|||||||
Vor_Outbox_Disp_Flag = 1;
|
Vor_Outbox_Disp_Flag = 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Vor_Ioff_Det_Debounce++;
|
Vor_Output_Debounce++;
|
||||||
if( Vor_Ioff_Det_Debounce >= VOX_IOFF_DET_DEBOUNCE ) //重载转轻载(耳机出仓后)需延时4s
|
if( Vor_Output_Debounce >= VOX_IOFF_DET_DEBOUNCE ) //重载转轻载(耳机出仓后)需延时4s
|
||||||
{
|
{
|
||||||
Vor_Ioff_Det_Debounce = 0;
|
Vor_Output_Debounce = 0;
|
||||||
|
|
||||||
VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT
|
VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT
|
||||||
|
|
||||||
@ -406,13 +335,13 @@ void Vor_Det_Machine(void)
|
|||||||
else
|
else
|
||||||
if( (CHIP_STA1 & 0x88) == 0x80 ) //观察CHIP_STA1的状态,无IOFF有Loadon,说明:1、耳机出仓后4s内,耳机再次入仓;2、10分钟未满,耳机电池退出锂保状态,进入正常充电;3、耳机锂保满10分钟。
|
if( (CHIP_STA1 & 0x88) == 0x80 ) //观察CHIP_STA1的状态,无IOFF有Loadon,说明:1、耳机出仓后4s内,耳机再次入仓;2、10分钟未满,耳机电池退出锂保状态,进入正常充电;3、耳机锂保满10分钟。
|
||||||
{
|
{
|
||||||
Vor_Ioff_Det_Debounce = 0;
|
Vor_Output_Debounce = 0;
|
||||||
|
|
||||||
#if LED_188
|
#if LED_188
|
||||||
if( Vor_Outbox_Disp_Flag ) //左耳4s内再次入盒,左耳对应的图标闪一次
|
if( Vor_Outbox_Disp_Flag ) //左耳4s内再次入盒,左耳对应的图标闪一次
|
||||||
{
|
{
|
||||||
Vor_Outbox_Disp_Flag = 0;
|
Vor_Outbox_Disp_Flag = 0;
|
||||||
Vor_GetOut_Box_Flag = 0;
|
Vor_GetOut_Box_Flag = 0;
|
||||||
Disp_Vor_Lev = Disp_Vol_Lev;
|
|
||||||
LED_On_Timer = 0;
|
LED_On_Timer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,16 +355,19 @@ void Vor_Det_Machine(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if( !Vor_Bat_Low_Flag )
|
||||||
{
|
{
|
||||||
Vor_Vout_Enable = ON;
|
Vor_Vout_Enable = ON;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
if( !(CHIP_STA1 & 0x88) ) //CHIP_STA1无loadon和ioff状态,则说明耳机出仓了。
|
if( !(CHIP_STA1 & 0x88) ) //CHIP_STA1无loadon和ioff状态,则说明耳机出仓了。
|
||||||
{
|
{
|
||||||
Vor_State = VOX_NONE_IN_BOX;
|
Vor_State = VOX_NONE_IN_BOX;
|
||||||
#if LED_188
|
#if LED_188
|
||||||
Vor_GetInto_Box_Flag = 0;
|
Vor_Output_Debounce = 0;
|
||||||
|
|
||||||
Vor_Intobox_Disp_Flag = 0;
|
Vor_Intobox_Disp_Flag = 0;
|
||||||
#endif
|
#endif
|
||||||
@ -452,7 +384,7 @@ void Vor_Det_Machine(void)
|
|||||||
|
|
||||||
VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT
|
VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT
|
||||||
|
|
||||||
Vor_Ioff_Det_Debounce = 0;
|
Vor_Output_Debounce = 0;
|
||||||
Vor_Vout_Enable = OFF;
|
Vor_Vout_Enable = OFF;
|
||||||
|
|
||||||
/* Loadon状态位存在,则说明耳机入仓,开启后续充电流程。*/
|
/* Loadon状态位存在,则说明耳机入仓,开启后续充电流程。*/
|
||||||
@ -460,12 +392,13 @@ void Vor_Det_Machine(void)
|
|||||||
{
|
{
|
||||||
Vor_State = VOX_GET_INTO_BOX;
|
Vor_State = VOX_GET_INTO_BOX;
|
||||||
|
|
||||||
|
Vor_Bat_Low_Flag = 0;
|
||||||
|
|
||||||
#if DISCHARGE_ENABLE
|
#if DISCHARGE_ENABLE
|
||||||
BST_EN = 1; //Boost Enable;异常时由硬件主动关闭。
|
BST_EN = 1; //Boost Enable;异常时由硬件主动关闭。
|
||||||
#endif
|
#endif
|
||||||
#if LED_188
|
#if LED_188
|
||||||
Vor_GetInto_Box_Flag = 1;
|
Vor_GetInto_Box_Flag = 1;
|
||||||
Disp_Vor_Lev = Disp_Vol_Lev;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _DEBUG_VOX
|
#ifdef _DEBUG_VOX
|
||||||
@ -481,7 +414,13 @@ void Vor_Det_Machine(void)
|
|||||||
}
|
}
|
||||||
else //Boost保护后,VOX恢复到最初状态。
|
else //Boost保护后,VOX恢复到最初状态。
|
||||||
{
|
{
|
||||||
// Vor_State = VOX_NONE_IN_BOX;
|
Vor_State = VOX_NONE_IN_BOX;
|
||||||
|
|
||||||
|
Vor_GetInto_Box_Flag = 0;
|
||||||
|
|
||||||
|
Vor_Bat_Low_Flag = 1;
|
||||||
|
|
||||||
|
//Vor_GetInto_Box_Flag = 1;
|
||||||
|
|
||||||
Vor_Vout_Enable = OFF;
|
Vor_Vout_Enable = OFF;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user