diff --git a/CAN.C b/CAN.C
index 5df587b..d86b756 100644
--- a/CAN.C
+++ b/CAN.C
@@ -283,6 +283,7 @@ void CAN_vInit(void)
CAN_vSetListCommand(0x010B0002); // MO11 for list 1
CAN_vSetListCommand(0x010C0002); // MO12 for list 1
CAN_vSetListCommand(0x010D0002); // MO13 for list 1
+ CAN_vSetListCommand(0x010E0002); // MO14 for list 1
/// -----------------------------------------------------------------------
/// Configuration of the CAN Message Objects 0 - 31:
@@ -1004,7 +1005,80 @@ void CAN_vInit(void)
/// -----------------------------------------------------------------------
/// Configuration of Message Object 14:
/// -----------------------------------------------------------------------
- /// - message object 14 is not valid
+ /// - message object 14 is valid
+ /// - message object is used as receive object
+ /// - this message object is assigned to list 1 (node 0)
+
+ //--------------MOCTR14 = 0x00A00000---------------------------------------
+
+ CAN_vWriteCANAddress(CAN_MOCTR14); // Addressing MO14 control register
+
+ CAN_vWriteAMData(0x00A00000); // load MO14 control register
+
+ // CAN Address pointing to the CAN_MOAR14
+ CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
+
+ /// - priority class 3; transmit acceptance filtering is based on the list
+ /// order (like class 1)
+ /// - extended 29-bit identifier
+ /// - identifier 29-bit: 0x11000003
+
+ //--------------MOAR14 = 0xF1000003---------------------------------------
+
+ CAN_vWriteAMData(0xF1000003); // load MO14 arbitration register
+
+ // CAN Address pointing to the CAN_MODATAH14
+ CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
+
+
+ //--------------MODATAH14 = 0x00000000---------------------------------------
+
+ CAN_vWriteAMData(0x00000000); // load MO14 data register high
+
+ // CAN Address pointing to the CAN_MODATAL14
+ CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
+
+ //--------------MODATAL14 = 0x00000000---------------------------------------
+
+ CAN_vWriteAMData(0x00000000); // load MO14 data register low
+
+ // CAN Address pointing to the CAN_MOAMR14
+ CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
+
+ /// - only accept receive frames with matching IDE bit
+ /// - acceptance mask 29-bit: 0x1FFFFFFF
+
+ //--------------CAN_MOAMR14 = 0x3FFFFFFF------------------------------------
+
+ CAN_vWriteAMData(0x3FFFFFFF); // load MO14 acceptance mask register
+
+ // CAN Address pointing to the CAN_MOIPR14
+ CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
+
+ /// - use message pending register 0 bit position 14
+
+ //--------------MOIPR14 = 0x00000E00---------------------------------------
+
+ CAN_vWriteAMData(0x00000E00); // load MO14 interrupt pointer register
+
+ // CAN Address pointing to the CAN_MOFGPR14
+ CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
+
+
+ //--------------MOFGPR14 = 0x00000000---------------------------------------
+
+ CAN_vWriteAMData(0x00000000); // load MO14 FIFO/gateway pointer register
+
+ // CAN Address pointing to the CAN_MOFCR14
+ CAN_ADCON = ADR_DEC; // Auto Decrement the current address(-1)
+
+ /// - this object is a STANDARD MESSAGE OBJECT
+ /// - 8 valid data bytes
+
+ //--------------MOFCR14 = 0x08000000---------------------------------------
+
+ CAN_vWriteAMData(0x08000000); // load MO14 function control register
+
/// -----------------------------------------------------------------------
/// Configuration of Message Object 15:
/// -----------------------------------------------------------------------
diff --git a/CL2.0.uvgui.liuminVir b/CL2.0.uvgui.liuminVir
index 47a9f8a..4fbf29f 100644
--- a/CL2.0.uvgui.liuminVir
+++ b/CL2.0.uvgui.liuminVir
@@ -6,7 +6,7 @@
### uVision Project, (C) Keil Software
- C:\Users\liuminVir\Desktop\20250115_IO采集
+ C:\Users\liuminVir\Desktop\20250804采集模块修改状态接收
@@ -101,17 +101,17 @@
-1
- 55
- -444
- 513
- 993
+ 9
+ 228
+ 1185
+ 947
0
- 700
- 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000020000000100000042433A5C55736572735C6C69756D696E5669725C4465736B746F705C32303235303030363137B2C9BCAFC4A3BFE92D373525BAACB4EDCEF3B4A6C0ED5C557365722E630000000006557365722E6300000000C5D4F200FFFFFFFF42433A5C55736572735C6C69756D696E5669725C4465736B746F705C32303235303030363137B2C9BCAFC4A3BFE92D373525BAACB4EDCEF3B4A6C0ED5C757365722E480000000006757365722E4800000000FFDC7800FFFFFFFF40433A5C55736572735C6C69756D696E5669725C4465736B746F705C32303235303030363137B2C9BCAFC4A3BFE92D373525BAACB4EDCEF3B4A6C0ED5C50532E43000000000450532E4300000000BECEA100FFFFFFFF40433A5C55736572735C6C69756D696E5669725C4465736B746F705C32303235303030363137B2C9BCAFC4A3BFE92D373525BAACB4EDCEF3B4A6C0ED5C50532E48000000000450532E4800000000F0A0A100FFFFFFFF42433A5C55736572735C6C69756D696E5669725C4465736B746F705C32303235303030363137B2C9BCAFC4A3BFE92D373525BAACB4EDCEF3B4A6C0ED5C4D41494E2E4300000000064D41494E2E4300000000BCA8E100FFFFFFFF40433A5C55736572735C6C69756D696E5669725C4465736B746F705C32303235303030363137B2C9BCAFC4A3BFE92D373525BAACB4EDCEF3B4A6C0ED5C494F2E430000000004494F2E43000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001F010000650000007A07000049030000
+ 544
+ 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000400000002000000010000003E433A5C55736572735C6C69756D696E5669725C4465736B746F705C3230323530383034B2C9BCAFC4A3BFE9D0DEB8C4D7B4CCACBDD3CAD55C557365722E630000000006557365722E6300000000C5D4F200FFFFFFFF3E433A5C55736572735C6C69756D696E5669725C4465736B746F705C3230323530383034B2C9BCAFC4A3BFE9D0DEB8C4D7B4CCACBDD3CAD55C4D41494E2E4300000000064D41494E2E4300000000FFDC7800FFFFFFFF45433A5C55736572735C6C69756D696E5669725C4465736B746F705C3230323530383034B2C9BCAFC4A3BFE9D0DEB8C4D7B4CCACBDD3CAD55C74656D70657261747572652E43000000000D74656D70657261747572652E4300000000BECEA100FFFFFFFF45433A5C55736572735C6C69756D696E5669725C4465736B746F705C3230323530383034B2C9BCAFC4A3BFE9D0DEB8C4D7B4CCACBDD3CAD55C74656D70657261747572652E48000000000D74656D70657261747572652E4800000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001F010000650000007A07000049030000
@@ -490,7 +490,7 @@
0
16
- 0000000032030000AD0300000D040000
+ 00000000330300007A0700000E040000
16
@@ -1714,7 +1714,7 @@
16
- 0A0000000A000000D80300003F000000
+ 0A0000000A0000006E0000006E000000
@@ -1799,14 +1799,14 @@
3325
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFDA000000C7000000F7040000CB000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000DA00000065000000F7040000DD000000DA0000004F000000F7040000C70000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1D0400004F00000021040000CC010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002104000065000000F7040000E2010000210400004F000000F7040000CC01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF1B0100004F0000001F0100003303000001000000020000100400000001000000D6FEFFFF45060000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000001B01000049030000000000004F0000001B010000330300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000B8010000F7040000BC01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000D2010000F70400005E02000000000000BC010000F70400004802000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF7C020000BC010000800200004802000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000400200007A070000440200000000000001000000040000000100000089FDFFFF76000000FFFFFFFF03000000B4010000D2010000CF01000001800080000000000000000000005A0200007A0700004903000000000000440200007A070000330300000000000040820046030000000A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFB401000001000000FFFFFFFFB40100000000000003000000C7000000008000000100000000000000490300007A0700002404000001000000010000000100000077940000008000000100000000000000490300007A07000024040000010000000100000001000000C500000000800000010000000000000048030000AD0300002304000001000000010000000100000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFDA000000C7000000F7040000CB000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000DA00000065000000F7040000DD000000DA0000004F000000F7040000C70000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1D0400004F00000021040000CC010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002104000065000000F7040000E2010000210400004F000000F7040000CC01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF1B0100004F0000001F0100003303000001000000020000100400000001000000D6FEFFFF45060000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000001B01000049030000000000004F0000001B010000330300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000B8010000F7040000BC01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000D2010000F70400005E02000000000000BC010000F70400004802000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF7C020000BC010000800200004802000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000400200007A070000440200000000000001000000040000000100000089FDFFFF76000000FFFFFFFF03000000B4010000D2010000CF01000001800080000000000000000000005A0200007A0700004903000000000000440200007A070000330300000000000040820046030000000A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFB401000001000000FFFFFFFFB40100000000000003000000C7000000008000000100000000000000490300007A07000024040000010000000100000001000000C5000000008000000100000000000000490300007A0700002404000001000000010000000100000077940000008000000100000000000000490300007A0700002404000001000000010000000100000000000000
59392
File
- 2901
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D63616E5F6572726F725F636E74960000000000000014000D63616E5F6572726F725F636E740A556E496E6643616E5F311C556E496E6643616E5F312E417272446174612E4172725B305D5B335D0C556E537753616D706C655F3102CEDE06504D434F4E300D626D3835363347657454696D650E626D38353633536574416C61726D0231320B44465F5377547854656D7016756E5F696E665F63616E5F6B67665F6F7574707574311C556E496E6643616E5F312E417272446174612E4172725B305D5B345D1C556E496E6643616E5F312E417272446174612E4172725B305D5B355D0743616E52585458056954656D70064D41584E554D0C4F575F52656164324269747306526F6D4E756D16556E496E6643616E5F312E417272446174612E4172720450335F350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 2892
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B44465F537754784B4746319600000000000000140006526F6D4E756D0B44465F537754784B4746310831313030303030310D63616E5F6572726F725F636E740A556E496E6643616E5F311C556E496E6643616E5F312E417272446174612E4172725B305D5B335D0C556E537753616D706C655F3102CEDE06504D434F4E300D626D3835363347657454696D650E626D38353633536574416C61726D0231320B44465F5377547854656D7016756E5F696E665F63616E5F6B67665F6F7574707574311C556E496E6643616E5F312E417272446174612E4172725B305D5B345D1C556E496E6643616E5F312E417272446174612E4172725B305D5B355D0743616E52585458056954656D70064D41584E554D0C4F575F5265616432426974730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
976
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1865,54 +1865,36 @@
2
.\User.c
- 7
- 130
- 169
- 1
-
- 0
-
-
- user.H
- 32
- 1
- 21
- 1
-
- 0
-
-
- .\PS.C
- 54
- 129
- 140
- 1
-
- 0
-
-
- PS.H
- 0
- 129
- 203
+ 23
+ 225
+ 392
1
0
.\MAIN.C
- 13
- 218
- 229
+ 2
+ 220
+ 235
1
0
- .\IO.C
- 34
- 240
- 258
+ .\temperature.C
+ 2
+ 454
+ 434
+ 1
+
+ 0
+
+
+ temperature.H
+ 0
+ 40
+ 16
1
0
diff --git a/IO.C b/IO.C
index dc51758..f9dc52a 100644
--- a/IO.C
+++ b/IO.C
@@ -188,10 +188,8 @@ void IO_vInit(void)
/// - is used as general input
/// - pull-up device is assigned
/// P1.4:
- /// - is used as general purpose output
- /// - push/pull output is selected
- /// - the pin status is low level
- /// - pull device is disabled (tristate)
+ /// - is used as general input
+ /// - pull-up device is assigned
/// P1.5:
/// - is used as general input
/// - pull-up device is assigned
@@ -201,13 +199,11 @@ void IO_vInit(void)
/// - the pin status is low level
/// - pull device is disabled (tristate)
-
SFR_PAGE(_pp1, noSST); // switch to page 1
- P1_PUDSEL = 0xFF; // load pullup/pulldown select register
- P1_PUDEN = 0xAF; // load pullup/pulldown enable register
+ P1_PUDEN = 0xBF; // load pullup/pulldown enable register
SFR_PAGE(_pp0, noSST); // switch to page 0
- P1_DIR = 0x50; // load direction register
+ P1_DIR = 0x40; // load direction register
/// -----------------------------------------------------------------------
/// Configuration of Port P2:
diff --git a/MAIN.C b/MAIN.C
index 124804d..09a1cd7 100644
--- a/MAIN.C
+++ b/MAIN.C
@@ -235,13 +235,27 @@ void main(void)
// SetConfig(1,CFG_MPS_Single,CFG_Repeatbility_High);
- RomNum = Search_ROM(romid); //ǰϵоƬROM IDromidоƬ
+// RomNum = Search_ROM(romid); //ǰϵоƬROM IDromidоƬ
// if(1 == power_state)//绽ѲŸʱ
// {
bm8563SetTime(&inittime);//20250802 ʼʱ Ϊʱ䲻Ե
// }
+ //E3ʼ 20251117
+ un_inf_can_kgf_output1.bit_data.KGF01 = 0x01; // E3
+ un_inf_can_kgf_output1.bit_data.KGF02 = 0x01; //
+ un_inf_can_kgf_output1.bit_data.KGF03 = 0x01; //
+ un_inf_can_kgf_output1.bit_data.KGF05 = 0x01; // ·
+ un_inf_can_kgf_output1.bit_data.KGF06 = 0x01; // ·
+ un_inf_can_kgf_output1.bit_data.KGF07 = 0x01; //
+ un_inf_can_kgf_output1.bit_data.KGF08 = 0x01; //
+ un_inf_can_kgf_output1.bit_data.KGF09 = 0 ; //
+ un_inf_can_kgf_output1.bit_data.KGF11 = 0x01; // װ
+ un_inf_can_kgf_output1.bit_data.KGF12 = 0x01; // װ
+ un_inf_can_kgf_output1.bit_data.KGF14 = 0 ; //
+ un_inf_can_kgf_output1.bit_data.KGF15 = 0x01; // ͷ
+ un_inf_can_kgf_output1.bit_data.KGF16 = 0x01; // ң
while(1)
{
diff --git a/SHARED_INT.C b/SHARED_INT.C
index 7cdf152..2f354e0 100644
--- a/SHARED_INT.C
+++ b/SHARED_INT.C
@@ -133,9 +133,10 @@ void SHINT_vInit(void)
IEN0 |= 0x20; // load interrupt enable register 0
+ /// - Timer21 Interrupt is Selected
- IEN1 |= 0x00; // load interrupt enable register 1
+ IEN1 |= 0x04; // load interrupt enable register 1
// USER CODE BEGIN (SHINT_Init,3)
@@ -306,6 +307,86 @@ RTCProcess();
} // End of function SHINT_viXINTR5Isr
+//****************************************************************************
+// @Function void SHINT_viXINTR8Isr(void)
+//
+//----------------------------------------------------------------------------
+// @Description This is the service routine for the shared interrupt node
+// XINTR8. XINTR8 ISR Node is shared by External Interrupt
+// 2,Timer 21,CORDIC,UART1,UART1 Fractional Divider(BRG
+// Interrupt), and MDU[1:0]. Depending on the selected module
+// interrupt it is called.
+// EXT2 - It is called for the External interrupt 2.
+// T21 - Depending on the selected operating mode it is called
+// when TF2 is set by an overflow or underflow of the timer 21
+// register or when EXF2 is set by a negative transition on
+// T2EX.
+// UART1 - It is called after the BRG timer overflows and sets
+// the NDOV bit.
+// It is called after each transmission (flag TI_1 set) or
+// reception (flag RI_1 set) of a data unit.
+// Please note that you have to add application specific code
+// to this function.
+//
+//----------------------------------------------------------------------------
+// @Returnvalue none
+//
+//----------------------------------------------------------------------------
+// @Parameters None
+//
+//----------------------------------------------------------------------------
+// @Date 2025/11/17
+//
+//****************************************************************************
+
+// You have two choices for interrupt type select in Project Settings Page
+// under Global Settings Section.
+// If you select CHOICE 1 then ISR will be generated with push and pop.
+// If you select CHOICE 2 then ISR will be generated without push and pop.
+// Default choice is CHOICE 2.
+// Current selection is CHOICE 2
+
+// USER CODE BEGIN (SHINT_XINTR8Isr,1)
+
+// USER CODE END
+
+void SHINT_viXINTR8Isr(void) interrupt XINTR8INT
+{
+
+ // USER CODE BEGIN (SHINT_XINTR8Isr,2)
+
+ // USER CODE END
+
+ EA = 0; // disable global interrupt
+ _push_(SYSCON0); // push the current RMAP
+
+ SET_RMAP(); // sets RMAP
+
+ // Timer 21 interrupt handling section...
+
+ if (TF2)
+ {
+ // a timer 21 overflow has occured
+
+ TF2 = 0;
+
+ // USER CODE BEGIN (SHINT_XINTR8Isr,4)
+
+ // USER CODE END
+
+ }
+
+ // USER CODE BEGIN (SHINT_XINTR8Isr,9)
+
+ // USER CODE END
+
+
+ _pop_(SYSCON0); // restore the old RMAP
+ EA = 1; // enable global interrupt
+
+} // End of function SHINT_viXINTR8Isr
+
+
// USER CODE BEGIN (SHARED_INT_General,10)
// USER CODE END
diff --git a/SHARED_INT.H b/SHARED_INT.H
index 5daa27a..0732acb 100644
--- a/SHARED_INT.H
+++ b/SHARED_INT.H
@@ -96,6 +96,8 @@ void SHINT_vInit(void);
#define XINTR5INT 5
+#define XINTR8INT 8
+
// USER CODE BEGIN (SHARED_INT_Header,9)
// USER CODE END
diff --git a/T21.C b/T21.C
new file mode 100644
index 0000000..5881237
--- /dev/null
+++ b/T21.C
@@ -0,0 +1,181 @@
+//****************************************************************************
+// @Module Timer 21
+// @Filename T21.C
+// @Project CL2.0.dav
+//----------------------------------------------------------------------------
+// @Controller Infineon XC886CLM-8FF
+//
+// @Compiler Keil
+//
+// @Codegenerator 1.3
+//
+// @Description: This file contains functions that use the T21 module.
+//
+//----------------------------------------------------------------------------
+// @Date 2025/11/17 18:48:53
+//
+//****************************************************************************
+
+// USER CODE BEGIN (T21_General,1)
+
+// USER CODE END
+
+
+
+//****************************************************************************
+// @Project Includes
+//****************************************************************************
+
+#include "MAIN.H"
+
+// USER CODE BEGIN (T21_General,2)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Macros
+//****************************************************************************
+
+// USER CODE BEGIN (T21_General,3)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Defines
+//****************************************************************************
+
+// USER CODE BEGIN (T21_General,4)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Typedefs
+//****************************************************************************
+
+// USER CODE BEGIN (T21_General,5)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Imported Global Variables
+//****************************************************************************
+
+// USER CODE BEGIN (T21_General,6)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Global Variables
+//****************************************************************************
+
+// USER CODE BEGIN (T21_General,7)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @External Prototypes
+//****************************************************************************
+
+// USER CODE BEGIN (T21_General,8)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Prototypes Of Local Functions
+//****************************************************************************
+
+// USER CODE BEGIN (T21_General,9)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Function void T21_vInit(void)
+//
+//----------------------------------------------------------------------------
+// @Description This is the initialization function of the Timer 21
+// function library. It is assumed that the SFRs used by this
+// library are in their reset state.
+//
+// The following SFRs and SFR fields will be initialized:
+// T21_RC2H/RC2L - reload/capture timer 21 register
+// T21_T2H/T2L - timer 21 register
+// EX2 - timer 21 interrupt enable
+// T21_T2MOD - timer 21 mode register
+// CP/RL2 - Capture/Reload select
+// EXEN2 - External enable control
+// TR2 - Timer21 run control
+//
+//----------------------------------------------------------------------------
+// @Returnvalue None
+//
+//----------------------------------------------------------------------------
+// @Parameters None
+//
+//----------------------------------------------------------------------------
+// @Date 2025/11/17
+//
+//****************************************************************************
+
+// USER CODE BEGIN (T21_Init,1)
+
+// USER CODE END
+
+void T21_vInit(void)
+{
+ // USER CODE BEGIN (T21_Init,2)
+
+ // USER CODE END
+
+ // -----------------------------------------------------------------------
+ // Operating Mode
+ // -----------------------------------------------------------------------
+
+ /// 16-bit timer function with automatic reload when timer 21 overflows
+ /// Prescaler enabled - input clock = fPCLK
+ /// the timer 21 resolution is .042 ?s
+ /// the timer 21 overflow is 1.000 ?s
+ /// timer 21 interrupt: enabled
+ /// timer 21 will be started
+
+ // -----------------------------------------------------------------------
+ // Register Initialization
+ // -----------------------------------------------------------------------
+
+
+
+ SET_RMAP();
+
+ T21_T2L = 0xE8; // load timer 21 register, low byte
+
+ T21_T2H = 0xFF; // load timer 21 register, high byte
+
+ T21_RC2L = 0xE8; // load timer 21 reload/capture register,
+ // low byte
+ T21_RC2H = 0xFF; // load timer 21 reload/capture register,
+ // high byte
+ T21_T2MOD = 0x10; // load timer 21 mode register
+ /// Timer 21 Interrupt enable bit is set in SHINT_vInit() function
+
+ // USER CODE BEGIN (T21_Init,3)
+
+ // USER CODE END
+
+ TR2 = 1; // start timer
+
+ RESET_RMAP();
+
+} // End of function T21_vInit
+
+
+// USER CODE BEGIN (T21_General,10)
+
+// USER CODE END
+
diff --git a/T21.H b/T21.H
new file mode 100644
index 0000000..70f5f7a
--- /dev/null
+++ b/T21.H
@@ -0,0 +1,104 @@
+//****************************************************************************
+// @Module Timer 21
+// @Filename T21.H
+// @Project CL2.0.dav
+//----------------------------------------------------------------------------
+// @Controller Infineon XC886CLM-8FF
+//
+// @Compiler Keil
+//
+// @Codegenerator 1.3
+//
+// @Description: This file contains all function prototypes and macros for
+// the T21 module.
+//
+//----------------------------------------------------------------------------
+// @Date 2025/11/17 18:48:53
+//
+//****************************************************************************
+
+// USER CODE BEGIN (T21_Header,1)
+
+// USER CODE END
+
+
+
+#ifndef _T21_H_
+#define _T21_H_
+
+//****************************************************************************
+// @Project Includes
+//****************************************************************************
+
+// USER CODE BEGIN (T21_Header,2)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Macros
+//****************************************************************************
+
+// USER CODE BEGIN (T21_Header,3)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Defines
+//****************************************************************************
+
+// USER CODE BEGIN (T21_Header,4)
+
+// USER CODE END
+
+//****************************************************************************
+// @Typedefs
+//****************************************************************************
+
+// USER CODE BEGIN (T21_Header,5)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Imported Global Variables
+//****************************************************************************
+
+// USER CODE BEGIN (T21_Header,6)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Global Variables
+//****************************************************************************
+
+// USER CODE BEGIN (T21_Header,7)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Prototypes Of Global Functions
+//****************************************************************************
+
+void T21_vInit(void);
+
+// USER CODE BEGIN (T21_Header,8)
+
+// USER CODE END
+
+
+//****************************************************************************
+// @Interrupt Vectors
+//****************************************************************************
+
+
+// Shared interrupt vector definitions are defined in SHARED_INT.H
+
+// USER CODE BEGIN (T21_Header,9)
+
+// USER CODE END
+
+#endif // ifndef _T21_H_
diff --git a/User.c b/User.c
index e67522e..c7f1848 100644
--- a/User.c
+++ b/User.c
@@ -1,4 +1,4 @@
-#include "MAIN.H"-
+#include "MAIN.H"
#include "RTC.H"
#include "temperature.H"
#include
@@ -39,7 +39,7 @@ ubyte can_error_flg = 0;
//-----------------------------------------------------------------------
-//RTCʱ 890-=
+//RTCʱ
//-----------------------------------------------------------------------
void RTCProcess(void)
{
@@ -241,6 +241,24 @@ void CanRXTX(void)
}
+ if(CAN_ubNewData(DF_SwZFKGF1))//E3ת
+ {
+ CAN_vGetMsgObj(DF_SwZFKGF1, &StrCanRx);
+
+ un_inf_can_kgf_output1.arr[2] = StrCanRx.ulDATAL.ubDB[0];
+ un_inf_can_kgf_output1.arr[3] = StrCanRx.ulDATAL.ubDB[1];
+ un_inf_can_kgf_output1.arr[0] = StrCanRx.ulDATAL.ubDB[2];
+ un_inf_can_kgf_output1.arr[1] = StrCanRx.ulDATAL.ubDB[3];
+ un_inf_can_kgf_output1.arr[6] = StrCanRx.ulDATAH.ubDB[0];
+ un_inf_can_kgf_output1.arr[7] = StrCanRx.ulDATAH.ubDB[1];
+ un_inf_can_kgf_output1.arr[4] = StrCanRx.ulDATAH.ubDB[2];
+ un_inf_can_kgf_output1.arr[5] = StrCanRx.ulDATAH.ubDB[3];
+
+ CAN_vReleaseObj(DF_SwZFKGF1);
+ }
+
+
+
//----------------------------------------------------------
@@ -341,31 +359,7 @@ void CanRXTX(void)
if(vcu_can_cnt == vcu_can_last)//һʾ
{
- flg_wake_ecu = FAULT;
-
- // un_inf_can_kgf_output2.bit_data.KGF01 = 0x01;//
- // un_inf_can_kgf_output2.bit_data.KGF02 = 0x01;//
- // un_inf_can_kgf_output2.bit_data.KGF15 = 0x01;//
- // un_inf_can_kgf_output2.bit_data.KGF16 = 0x01;//
-
- // un_inf_can_kgf_output2.bit_data.KGF03 = 0x01;// ң
- // un_inf_can_kgf_output2.bit_data.KGF05 = 0x01;// 罻
- // un_inf_can_kgf_output2.bit_data.KGF06 = 0x01;// 罻
-
- // un_inf_can_kgf_output2.bit_data.KGF04 = 0x01;//KGF20ӵ
-
- un_inf_can_kgf_output1.bit_data.KGF01 = 0x01; // E3
- un_inf_can_kgf_output1.bit_data.KGF02 = 0x01; //
- un_inf_can_kgf_output1.bit_data.KGF03 = 0 ; //
- un_inf_can_kgf_output1.bit_data.KGF05 = 0x01; // ·
- un_inf_can_kgf_output1.bit_data.KGF06 = 0x01; // ·
- un_inf_can_kgf_output1.bit_data.KGF07 = 0x01; //
- un_inf_can_kgf_output1.bit_data.KGF08 = 0x01; //
- un_inf_can_kgf_output1.bit_data.KGF09 = 0x01; // װ
- un_inf_can_kgf_output1.bit_data.KGF11 = 0x01; // װ
- un_inf_can_kgf_output1.bit_data.KGF12 = 0x01; //
- un_inf_can_kgf_output1.bit_data.KGF15 = 0x01; // ͷ
- un_inf_can_kgf_output1.bit_data.KGF16 = 0x01; // ң
+ flg_wake_ecu = FAULT;
if(1 == flg_KGF)//ȴKGFѺٷ
{
diff --git a/temperature.C b/temperature.C
index c3b16ee..7b682da 100644
--- a/temperature.C
+++ b/temperature.C
@@ -281,12 +281,12 @@ BOOL ReadTempWaiting(uword *iTemp)
}
/*յǰ8ֽڵУͣյĵ9CRCֽڱȽϡ*/
- UnSwSample_1.bit_data.temperature[1] = scrb[8];
-// if(scrb[8] != MY_OW_CRC8(scrb, 8))
-// {
+// UnSwSample_1.bit_data.temperature[1] = scrb[8];
+ if(scrb[8] != MY_OW_CRC8(scrb, 8))
+ {
-// return FALSE; /*CRC֤δͨ*/
-// }
+ return FALSE; /*CRC֤δͨ*/
+ }
// UnSwSample_1.bit_data.temperature[1] = *iTemp;
/*¶ȲֽںϳΪ16λ֡*/
*iTemp = ((uword)(scr->T_msb) << 8) | scr->T_lsb;
diff --git a/temperature.h b/temperature.h
index fc963f0..1d99b96 100644
--- a/temperature.h
+++ b/temperature.h
@@ -36,7 +36,7 @@
#define CFG_Repeatbility_High 0x02
-#define MAXNUM 5 /*总线级联最大芯片数量*/
+#define MAXNUM 5 /*оƬ*/
typedef enum {
FALSE = 0,
@@ -48,7 +48,7 @@ typedef struct
{
char Tha_set_lsb;
char Tla_set_lsb;
- ubyte Cfg; /*系统配置寄存器, RW*/
+ ubyte Cfg; /*ϵͳüĴ, RW*/
} M601_SCRATCHPAD_WRITE;
@@ -74,14 +74,14 @@ typedef enum
/*SRAM scratchpad*/
typedef struct
{
- ubyte T_lsb; /*The LSB of 温度结果, RO*/
- ubyte T_msb; /*The MSB of 温度结果, RO*/
- ubyte C1_lsb; /*The LSB of 电容通道C1, RO*/
- ubyte C1_msb; /*The MSB of 电容通道C1, Ro*/
+ ubyte T_lsb; /*The LSB of ¶Ƚ, RO*/
+ ubyte T_msb; /*The MSB of ¶Ƚ, RO*/
+ ubyte C1_lsb; /*The LSB of ͨC1, RO*/
+ ubyte C1_msb; /*The MSB of ͨC1, Ro*/
ubyte Tha_set_lsb;
ubyte Tla_set_lsb;
- ubyte Cfg; /*系统配置寄存器, RW*/
- ubyte Status; /*系统状态寄存器, RO*/
+ ubyte Cfg; /*ϵͳüĴ, RW*/
+ ubyte Status; /*ϵͳ״̬Ĵ, RO*/
ubyte crc_scr; /*CRC for byte0-7, RO*/
} M601_SCRATCHPAD_READ;
@@ -89,64 +89,64 @@ typedef struct
-//20250116 增加温度采集字节
+//20250116 ¶Ȳɼֽ
typedef struct _StrSwSample
{
- unsigned int emergency_stop_switch : 1; // 通道1,急停开关
- unsigned int High_voltage_switch : 1; // 通道2,高压开关
- unsigned int CH03 : 1; // 通道3
- unsigned int CH04 : 1; // 通道4
- unsigned int CH05 : 1; // 通道5
- unsigned int CH06 : 1; // 通道6
- unsigned int CH07 : 1; // 通道7
- unsigned int CH08 : 1; // 通道8
- unsigned int CH09 : 1; // 通道9
- unsigned int CH10 : 1; // 通道10
- unsigned int CH11 : 1; // 通道11
- unsigned int CH12 : 1; // 通道12
- unsigned int CH13 : 1; // 通道13
- unsigned int CH14 : 1; // 通道14
- unsigned int CH15 : 1; // 通道15
- unsigned int CH16 : 1; // 通道16
- unsigned int CH17 : 1; // 通道17
- unsigned int CH18 : 1; // 通道18
- unsigned int CH19 : 1; // 通道19
- unsigned int CH20 : 1; // 通道20
- unsigned int CH21 : 1; // 通道21
- unsigned int CH22 : 1; // 通道22
- unsigned int CH23 : 1; // 通道23
- unsigned int CH24 : 1; // 通道24
- unsigned int CH25 : 1; // 通道25
- unsigned int CH26 : 1; // 通道26
- unsigned int CH27 : 1; // 通道27
- unsigned int CH28 : 1; // 通道28
- unsigned int CH29 : 1; // 通道29
- unsigned int CH30 : 1; // 通道30
- unsigned int CH31 : 1; // 通道31
- unsigned int CH32 : 1; // 通道32
+ unsigned int emergency_stop_switch : 1; // ͨ1ͣ
+ unsigned int High_voltage_switch : 1; // ͨ2ѹ
+ unsigned int CH03 : 1; // ͨ3
+ unsigned int CH04 : 1; // ͨ4
+ unsigned int CH05 : 1; // ͨ5
+ unsigned int CH06 : 1; // ͨ6
+ unsigned int CH07 : 1; // ͨ7
+ unsigned int CH08 : 1; // ͨ8
+ unsigned int CH09 : 1; // ͨ9
+ unsigned int CH10 : 1; // ͨ10
+ unsigned int CH11 : 1; // ͨ11
+ unsigned int CH12 : 1; // ͨ12
+ unsigned int CH13 : 1; // ͨ13
+ unsigned int CH14 : 1; // ͨ14
+ unsigned int CH15 : 1; // ͨ15
+ unsigned int CH16 : 1; // ͨ16
+ unsigned int CH17 : 1; // ͨ17
+ unsigned int CH18 : 1; // ͨ18
+ unsigned int CH19 : 1; // ͨ19
+ unsigned int CH20 : 1; // ͨ20
+ unsigned int CH21 : 1; // ͨ21
+ unsigned int CH22 : 1; // ͨ22
+ unsigned int CH23 : 1; // ͨ23
+ unsigned int CH24 : 1; // ͨ24
+ unsigned int CH25 : 1; // ͨ25
+ unsigned int CH26 : 1; // ͨ26
+ unsigned int CH27 : 1; // ͨ27
+ unsigned int CH28 : 1; // ͨ28
+ unsigned int CH29 : 1; // ͨ29
+ unsigned int CH30 : 1; // ͨ30
+ unsigned int CH31 : 1; // ͨ31
+ unsigned int CH32 : 1; // ͨ32
-// unsigned int CH33 : 1; // 通道33
-// unsigned int CH34 : 1; // 通道34
-// unsigned int CH35 : 1; // 通道35
-// unsigned int CH36 : 1; // 通道36
-// unsigned int CH37 : 1; // 通道37
-// unsigned int CH38 : 1; // 通道38
-// unsigned int CH39 : 1; // 通道39
-// unsigned int CH40 : 1; // 通道40
-// unsigned int CH41 : 1; // 通道41
-// unsigned int CH42 : 1; // 通道42
-// unsigned int CH43 : 1; // 通道43
-// unsigned int CH44 : 1; // 通道44
+// unsigned int CH33 : 1; // ͨ33
+// unsigned int CH34 : 1; // ͨ34
+// unsigned int CH35 : 1; // ͨ35
+// unsigned int CH36 : 1; // ͨ36
+// unsigned int CH37 : 1; // ͨ37
+// unsigned int CH38 : 1; // ͨ38
+// unsigned int CH39 : 1; // ͨ39
+// unsigned int CH40 : 1; // ͨ40
+// unsigned int CH41 : 1; // ͨ41
+// unsigned int CH42 : 1; // ͨ42
+// unsigned int CH43 : 1; // ͨ43
+// unsigned int CH44 : 1; // ͨ44
// unsigned int reserve : 4;
- unsigned int temperature[2]; // 温度
+ unsigned int temperature[2]; // ¶
} StrSwSample;
typedef union _UnSwSample
{
- StrSwSample bit_data; // 使用定义的结构体变量名
- unsigned char arr[sizeof(StrSwSample)]; // 通过结构体类型确定大小
+ StrSwSample bit_data; // ʹöĽṹ
+ unsigned char arr[sizeof(StrSwSample)]; // ͨṹȷС
} UnSwSample;
diff --git a/user.H b/user.H
index 9e1db19..f2ff7a4 100644
--- a/user.H
+++ b/user.H
@@ -8,6 +8,7 @@
#define DF_SwTxKGF2 10
#define DF_SwTxTemp 12
#define DF_SwRxKGF2 13
+#define DF_SwZFKGF1 14
#define MAX_TIME 43200 //ӣҲ30
@@ -15,14 +16,12 @@
#define dfPwmH 10 //PWMĸߵƽʱ䣬1010msңҪ20181227
-#define WAKE_UP_PIN P1_5 //ѹ // Ϊɰ汾Ӳ
+#define WAKE_UP_PIN P1_5 //ѹ
#define KGF_PIN P0_0 //
#define CAN_PIN P1_6 //
#define STOP_PIN P3_6 //ͣ
-#define BATTERY_PIN P1_4 //ؿƽ
-
-
+#define BATTERY_PIN P0_0 //ؿƽ
#define ON 0 //
#define OFF 1 //ɿ
@@ -30,14 +29,12 @@
#define FAULT 0
#define NORMAL 1
-
// Դ״̬ö
typedef enum {
POWER_STANDBY,
POWER_WORKING,
POWER_EMERGENCY,
POWER_PRE_CHARGE,
- POWER_NEUTRAL,
POWER_SLEEP
} PowerState;
@@ -106,10 +103,10 @@ extern UnSwOut UnSwOut_1;
extern UnInfCan UnInfCan_1;
extern uword CntCan_1;
extern bit FlgCan_1;
+
extern ubyte can_error_cnt;
extern ubyte can_error_flg;
-
extern UnInfCanKGFOutput un_inf_can_kgf_output1;//kgf
void CanRXTX(void);