修改小延时直接用nop,单节点
This commit is contained in:
8
User.c
8
User.c
@@ -1,4 +1,4 @@
|
|||||||
#include "MAIN.H"
|
#include "MAIN.H"-
|
||||||
#include "RTC.H"
|
#include "RTC.H"
|
||||||
#include "temperature.H"
|
#include "temperature.H"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -380,13 +380,13 @@ void CanRXTX(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GetTemp();//1s<31>ɼ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>¶<EFBFBD>
|
GetTemp();//1s<31>ɼ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>¶<EFBFBD>
|
||||||
UnSwSample_1.bit_data.emergency_stop_switch = STOP_PIN;
|
UnSwSample_1.bit_data.emergency_stop_switch = 0;
|
||||||
UnSwSample_1.bit_data.High_voltage_switch = ~WAKE_UP_PIN;
|
UnSwSample_1.bit_data.High_voltage_switch = 1;
|
||||||
UnSwSample_1.bit_data.CH03 = flg_wake_ecu;
|
UnSwSample_1.bit_data.CH03 = flg_wake_ecu;
|
||||||
|
|
||||||
if(1 == flg_KGF)//<2F>ȴ<EFBFBD>KGF<47><46><EFBFBD>Ѻ<EFBFBD><D1BA>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if(1 == flg_KGF)//<2F>ȴ<EFBFBD>KGF<47><46><EFBFBD>Ѻ<EFBFBD><D1BA>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
// canSendTo(DF_SwTxTemp,(ubyte *)&UnSwSample_1.arr[0]); //<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ɼ<EFBFBD>
|
canSendTo(DF_SwTxTemp,(ubyte *)&UnSwSample_1.arr[0]); //<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ɼ<EFBFBD>
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
190
temperature.C
190
temperature.C
@@ -89,12 +89,12 @@ unsigned char read_bit(void)
|
|||||||
P3_DIR = P3_DIR | 0x20; // load direction register <20>л<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬
|
P3_DIR = P3_DIR | 0x20; // load direction register <20>л<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬
|
||||||
|
|
||||||
DQ = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD>
|
DQ = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD>
|
||||||
Delay_us(1); // <20><><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 3us
|
DELAY_3US(); // <20><><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 3us
|
||||||
DQ = 1; // <20><><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD> DQ <20><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
DQ = 1; // <20><><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD> DQ <20><><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
SFR_PAGE(_pp0, noSST); // switch to page 0
|
SFR_PAGE(_pp0, noSST); // switch to page 0
|
||||||
P3_DIR = P3_DIR & 0xDF;// load direction register
|
P3_DIR = P3_DIR & 0xDF;// load direction register
|
||||||
|
|
||||||
Delay_us(3); // <20>ȴ<EFBFBD> 10us ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>
|
DELAY_10US(); // <20>ȴ<EFBFBD> 10us ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>
|
||||||
|
|
||||||
res = DQ;
|
res = DQ;
|
||||||
Delay_us(27); // ʱ<><CAB1>ĩβ <20>ȴ<EFBFBD>
|
Delay_us(27); // ʱ<><CAB1>ĩβ <20>ȴ<EFBFBD>
|
||||||
@@ -109,11 +109,11 @@ void write_bit(char bitval)
|
|||||||
P3_DIR = P3_DIR | 0x20; // load direction register <20>л<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬
|
P3_DIR = P3_DIR | 0x20; // load direction register <20>л<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬
|
||||||
|
|
||||||
DQ = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD>
|
DQ = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD>
|
||||||
Delay_us(2); // <20><><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 5us
|
DELAY_3US(); // <20><><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 5us
|
||||||
if(bitval == 1) DQ =1; // <20><><EFBFBD><EFBFBD> д 1<><31><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD>
|
if(bitval == 1) DQ =1; // <20><><EFBFBD><EFBFBD> д 1<><31><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD>
|
||||||
Delay_us(25); // <20><><EFBFBD><EFBFBD> д 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD> 60 us
|
Delay_us(30); // <20><><EFBFBD><EFBFBD> д 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DQ <20><><EFBFBD><EFBFBD> 60 us
|
||||||
DQ = 1; // <20>ͷ<EFBFBD> DQ <20><><EFBFBD><EFBFBD>
|
DQ = 1; // <20>ͷ<EFBFBD> DQ <20><><EFBFBD><EFBFBD>
|
||||||
Delay_us(5); // <20><>д 0<><30><EFBFBD>ָ<EFBFBD> ʱ<><CAB1> 10us
|
DELAY_10US(); // <20><>д 0<><30><EFBFBD>ָ<EFBFBD> ʱ<><CAB1> 10us
|
||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
@@ -268,63 +268,35 @@ BOOL ConvertTemp(void)
|
|||||||
* @param iTemp<6D><70><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>16λ<36>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* @param iTemp<6D><70><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>16λ<36>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
* @retval <20><>״̬
|
* @retval <20><>״̬
|
||||||
*/
|
*/
|
||||||
//BOOL ReadTempWaiting(uword *iTemp)
|
BOOL ReadTempWaiting(uword *iTemp)
|
||||||
//{
|
{
|
||||||
// ubyte scrb[sizeof(M601_SCRATCHPAD_READ)];
|
ubyte scrb[sizeof(M601_SCRATCHPAD_READ)];
|
||||||
// M601_SCRATCHPAD_READ *scr = (M601_SCRATCHPAD_READ *) scrb;
|
M601_SCRATCHPAD_READ *scr = (M601_SCRATCHPAD_READ *) scrb;
|
||||||
|
|
||||||
// /*<2A><>9<EFBFBD><39><EFBFBD>ֽڡ<D6BD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>ǰ8<C7B0><38><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>--CRC<52><43>*/
|
/*<2A><>9<EFBFBD><39><EFBFBD>ֽڡ<D6BD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>ǰ8<C7B0><38><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>--CRC<52><43>*/
|
||||||
// if(M601_ReadScratchpad_SkipRom(scrb) == FALSE)
|
if(M601_ReadScratchpad_SkipRom(scrb) == FALSE)
|
||||||
// {
|
{
|
||||||
// UnSwSample_1.bit_data.temperature[1] = 1;
|
UnSwSample_1.bit_data.temperature[1] = 1;
|
||||||
// return FALSE; /*<2A><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ʧ<EFBFBD><CAA7>*/
|
return FALSE; /*<2A><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ʧ<EFBFBD><CAA7>*/
|
||||||
// }
|
}
|
||||||
|
|
||||||
// /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>ǰ8<C7B0><38><EFBFBD>ֽڵ<D6BD>У<EFBFBD><D0A3><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յĵ<D5B5>9<EFBFBD><39>CRC<52>ֽڱȽϡ<C8BD>*/
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>ǰ8<C7B0><38><EFBFBD>ֽڵ<D6BD>У<EFBFBD><D0A3><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յĵ<D5B5>9<EFBFBD><39>CRC<52>ֽڱȽϡ<C8BD>*/
|
||||||
// UnSwSample_1.bit_data.temperature[1] = scrb[8];
|
UnSwSample_1.bit_data.temperature[1] = scrb[8];
|
||||||
// if(scrb[8] != MY_OW_CRC8(scrb, 8))
|
// if(scrb[8] != MY_OW_CRC8(scrb, 8))
|
||||||
// {
|
// {
|
||||||
|
|
||||||
// return FALSE; /*CRC<52><43>֤δͨ<CEB4><CDA8>*/
|
// return FALSE; /*CRC<52><43>֤δͨ<CEB4><CDA8>*/
|
||||||
// }
|
// }
|
||||||
//// UnSwSample_1.bit_data.temperature[1] = *iTemp;
|
// UnSwSample_1.bit_data.temperature[1] = *iTemp;
|
||||||
// /*<2A><><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽںϳ<DABA>Ϊ16λ<36>֡<EFBFBD>*/
|
/*<2A><><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽںϳ<DABA>Ϊ16λ<36>֡<EFBFBD>*/
|
||||||
// *iTemp = ((uword)(scr->T_msb) << 8) | scr->T_lsb;
|
*iTemp = ((uword)(scr->T_msb) << 8) | scr->T_lsb;
|
||||||
//
|
|
||||||
// return TRUE;
|
return TRUE;
|
||||||
//}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief <20><><EFBFBD><EFBFBD><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
* @param <20><>
|
|
||||||
* @retval ״̬
|
|
||||||
*/
|
|
||||||
|
|
||||||
//BOOL GetTemp(void)
|
|
||||||
//{
|
|
||||||
// static uword intTemp = 0;//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Լ<EFBFBD><D4BC>仯
|
|
||||||
// float fTemp;
|
|
||||||
// int signedInt_f_tem = 0;
|
|
||||||
////---------------------------------------
|
|
||||||
// intTemp = 0;
|
|
||||||
// if(ConvertTemp() == FALSE) return FALSE;
|
|
||||||
// Delay_us(6000);
|
|
||||||
// ReadTempWaiting(&intTemp);
|
|
||||||
|
|
||||||
// signedInt_f_tem = (int)intTemp;
|
|
||||||
//
|
|
||||||
// fTemp = ( (float)(signedInt_f_tem)/256.0 ) + 40.0;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//// fTemp = M601_OutputtoTemp(signedInt_f_tem);
|
|
||||||
//// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// signedInt_f_tem = (int)(fTemp*10);
|
|
||||||
//// <20>¶<EFBFBD> <20>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
// UnSwSample_1.bit_data.temperature[0] = signedInt_f_tem;
|
|
||||||
// return TRUE;
|
|
||||||
//}
|
|
||||||
/**-----------------------------------------------------------------------
|
/**-----------------------------------------------------------------------
|
||||||
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>bit<69><74><EFBFBD><EFBFBD>ȡ˳<C8A1><EFBFBD>λ-><3E><>λ<EFBFBD><CEBB>
|
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<D0BE><C6AC>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>bit<69><74><EFBFBD><EFBFBD>ȡ˳<C8A1><EFBFBD>λ-><3E><>λ<EFBFBD><CEBB>
|
||||||
* @param <20><>
|
* @param <20><>
|
||||||
@@ -460,26 +432,58 @@ BOOL M601_ReadScratchpad(unsigned char* scr, unsigned char j)
|
|||||||
* @param j <20><>search<63><68><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB>оƬ<D0BE><C6AC>j<EFBFBD><6A>ֵ0
|
* @param j <20><>search<63><68><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB>оƬ<D0BE><C6AC>j<EFBFBD><6A>ֵ0
|
||||||
* @retval <20><>״̬
|
* @retval <20><>״̬
|
||||||
*/
|
*/
|
||||||
BOOL ReadTempWaiting(unsigned short* iTemp, unsigned char j)
|
//BOOL ReadTempWaiting(unsigned short* iTemp, unsigned char j)
|
||||||
{
|
//{
|
||||||
unsigned char scrb[sizeof(M601_SCRATCHPAD_READ)];
|
// unsigned char scrb[sizeof(M601_SCRATCHPAD_READ)];
|
||||||
M601_SCRATCHPAD_READ* scr = (M601_SCRATCHPAD_READ*)scrb;
|
// M601_SCRATCHPAD_READ* scr = (M601_SCRATCHPAD_READ*)scrb;
|
||||||
|
|
||||||
/*<2A><>9<EFBFBD><39><EFBFBD>ֽڡ<D6BD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>ǰ8<C7B0><38><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>--CRC<52><43>*/
|
// /*<2A><>9<EFBFBD><39><EFBFBD>ֽڡ<D6BD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>ǰ8<C7B0><38><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>--CRC<52><43>*/
|
||||||
if (M601_ReadScratchpad(scrb, j) == 0)
|
// if (M601_ReadScratchpad(scrb, j) == 0)
|
||||||
{
|
// {
|
||||||
return FALSE; /*<2A><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ʧ<EFBFBD><CAA7>*/
|
// return FALSE; /*<2A><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ʧ<EFBFBD><CAA7>*/
|
||||||
}
|
// }
|
||||||
|
|
||||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>ǰ8<C7B0><38><EFBFBD>ֽڵ<D6BD>У<EFBFBD><D0A3><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յĵ<D5B5>9<EFBFBD><39>CRC<52>ֽڱȽϡ<C8BD>*/
|
// /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>ǰ8<C7B0><38><EFBFBD>ֽڵ<D6BD>У<EFBFBD><D0A3><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յĵ<D5B5>9<EFBFBD><39>CRC<52>ֽڱȽϡ<C8BD>*/
|
||||||
if (scrb[8] != MY_OW_CRC8(scrb, 8))
|
// if (scrb[8] != MY_OW_CRC8(scrb, 8))
|
||||||
{
|
// {
|
||||||
return FALSE; /*CRC<52><43>֤δͨ<CEB4><CDA8>*/
|
// return FALSE; /*CRC<52><43>֤δͨ<CEB4><CDA8>*/
|
||||||
}
|
// }
|
||||||
|
|
||||||
/*<2A><><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽںϳ<DABA>Ϊ16λ<36>֡<EFBFBD>*/
|
// /*<2A><><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽںϳ<DABA>Ϊ16λ<36>֡<EFBFBD>*/
|
||||||
*iTemp = (unsigned short)scr->T_msb << 8 | scr->T_lsb;
|
// *iTemp = (unsigned short)scr->T_msb << 8 | scr->T_lsb;
|
||||||
|
|
||||||
|
// return TRUE;
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief <20><><EFBFBD><EFBFBD><EFBFBD>¶Ȳ<C2B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
* @param <20><>
|
||||||
|
* @retval ״̬
|
||||||
|
*/
|
||||||
|
|
||||||
|
BOOL GetTemp(void)
|
||||||
|
{
|
||||||
|
static uword intTemp = 0;//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Լ<EFBFBD><D4BC>仯
|
||||||
|
float fTemp;
|
||||||
|
int signedInt_f_tem = 0;
|
||||||
|
//---------------------------------------
|
||||||
|
// intTemp = 0;
|
||||||
|
if(ConvertTemp() == FALSE) return FALSE;
|
||||||
|
Delay_us(6500);
|
||||||
|
ReadTempWaiting(&intTemp);
|
||||||
|
|
||||||
|
signedInt_f_tem = (int)intTemp;
|
||||||
|
|
||||||
|
fTemp = ( (float)(signedInt_f_tem)/256.0 ) + 40.0;
|
||||||
|
|
||||||
|
|
||||||
|
// fTemp = M601_OutputtoTemp(signedInt_f_tem);
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
signedInt_f_tem = (int)(fTemp*10);
|
||||||
|
// <20>¶<EFBFBD> <20>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
UnSwSample_1.bit_data.temperature[0] = signedInt_f_tem;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -487,32 +491,32 @@ BOOL ReadTempWaiting(unsigned short* iTemp, unsigned char j)
|
|||||||
* @param <20><>
|
* @param <20><>
|
||||||
* @retval ״̬
|
* @retval ״̬
|
||||||
*/
|
*/
|
||||||
BOOL GetTemp(void)
|
//BOOL GetTemp(void)
|
||||||
{
|
//{
|
||||||
float fTemp;
|
// float fTemp;
|
||||||
static unsigned int iTemp[MAXNUM];
|
// static unsigned int iTemp[MAXNUM];
|
||||||
int i;
|
// int i;
|
||||||
int signedInt_f_tem = 0;
|
// int signedInt_f_tem = 0;
|
||||||
//----------------------------------------------------
|
////----------------------------------------------------
|
||||||
// memset(romid, 0, sizeof(romid));//<2F><><EFBFBD><EFBFBD>
|
//// memset(romid, 0, sizeof(romid));//<2F><><EFBFBD><EFBFBD>
|
||||||
|
//
|
||||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬһ<C6AC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
// /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬһ<C6AC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||||
if(ConvertTemp() == FALSE) return FALSE;
|
// if(ConvertTemp() == FALSE) return FALSE;
|
||||||
Delay_us(6500);
|
// Delay_us(6500);
|
||||||
|
|
||||||
|
//
|
||||||
for (i = 0; i < RomNum; i++) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ
|
// for (i = 0; i < RomNum; i++) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ
|
||||||
{
|
// {
|
||||||
iTemp[i] = 0;
|
// iTemp[i] = 0;
|
||||||
/*<2A><><EFBFBD><EFBFBD>*/
|
// /*<2A><><EFBFBD><EFBFBD>*/
|
||||||
ReadTempWaiting(&iTemp[i], i);
|
// ReadTempWaiting(&iTemp[i], i);
|
||||||
|
|
||||||
fTemp = M601_OutputtoTemp((int)iTemp[i]); //<2F>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
|
// fTemp = M601_OutputtoTemp((int)iTemp[i]); //<2F>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
signedInt_f_tem = (int)(fTemp*10);
|
// signedInt_f_tem = (int)(fTemp*10);
|
||||||
// <20>¶<EFBFBD> <20>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// // <20>¶<EFBFBD> <20>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
UnSwSample_1.bit_data.temperature[1] = (unsigned int)signedInt_f_tem;
|
// UnSwSample_1.bit_data.temperature[i] = (unsigned int)signedInt_f_tem;
|
||||||
}
|
// }
|
||||||
return TRUE;
|
// return TRUE;
|
||||||
}
|
//}
|
||||||
|
|||||||
122
temperature.h
122
temperature.h
@@ -4,6 +4,16 @@
|
|||||||
#include "MAIN.H"
|
#include "MAIN.H"
|
||||||
|
|
||||||
|
|
||||||
|
#define DELAY_3US() _nop_(); _nop_(); _nop_()
|
||||||
|
|
||||||
|
#define DELAY_5US() _nop_(); _nop_(); _nop_(); _nop_(); _nop_()
|
||||||
|
|
||||||
|
#define DELAY_10US() _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); \
|
||||||
|
_nop_(); _nop_(); _nop_(); _nop_(); _nop_()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define DQ P3_5
|
#define DQ P3_5
|
||||||
|
|
||||||
///*Bit definition of config register*/
|
///*Bit definition of config register*/
|
||||||
@@ -26,7 +36,7 @@
|
|||||||
#define CFG_Repeatbility_High 0x02
|
#define CFG_Repeatbility_High 0x02
|
||||||
|
|
||||||
|
|
||||||
#define MAXNUM 5 /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>оƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
#define MAXNUM 5 /*总线级联最大芯片数量*/
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
FALSE = 0,
|
FALSE = 0,
|
||||||
@@ -38,7 +48,7 @@ typedef struct
|
|||||||
{
|
{
|
||||||
char Tha_set_lsb;
|
char Tha_set_lsb;
|
||||||
char Tla_set_lsb;
|
char Tla_set_lsb;
|
||||||
ubyte Cfg; /*ϵͳ<EFBFBD><EFBFBD><EFBFBD>üĴ<EFBFBD><EFBFBD><EFBFBD>, RW*/
|
ubyte Cfg; /*系统配置寄存器, RW*/
|
||||||
} M601_SCRATCHPAD_WRITE;
|
} M601_SCRATCHPAD_WRITE;
|
||||||
|
|
||||||
|
|
||||||
@@ -64,14 +74,14 @@ typedef enum
|
|||||||
/*SRAM scratchpad*/
|
/*SRAM scratchpad*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
ubyte T_lsb; /*The LSB of <EFBFBD>¶Ƚ<EFBFBD><EFBFBD><EFBFBD>, RO*/
|
ubyte T_lsb; /*The LSB of 温度结果, RO*/
|
||||||
ubyte T_msb; /*The MSB of <EFBFBD>¶Ƚ<EFBFBD><EFBFBD><EFBFBD>, RO*/
|
ubyte T_msb; /*The MSB of 温度结果, RO*/
|
||||||
ubyte C1_lsb; /*The LSB of <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>C1, RO*/
|
ubyte C1_lsb; /*The LSB of 电容通道C1, RO*/
|
||||||
ubyte C1_msb; /*The MSB of <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>C1, Ro*/
|
ubyte C1_msb; /*The MSB of 电容通道C1, Ro*/
|
||||||
ubyte Tha_set_lsb;
|
ubyte Tha_set_lsb;
|
||||||
ubyte Tla_set_lsb;
|
ubyte Tla_set_lsb;
|
||||||
ubyte Cfg; /*ϵͳ<EFBFBD><EFBFBD><EFBFBD>üĴ<EFBFBD><EFBFBD><EFBFBD>, RW*/
|
ubyte Cfg; /*系统配置寄存器, RW*/
|
||||||
ubyte Status; /*ϵͳ״̬<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>, RO*/
|
ubyte Status; /*系统状态寄存器, RO*/
|
||||||
ubyte crc_scr; /*CRC for byte0-7, RO*/
|
ubyte crc_scr; /*CRC for byte0-7, RO*/
|
||||||
} M601_SCRATCHPAD_READ;
|
} M601_SCRATCHPAD_READ;
|
||||||
|
|
||||||
@@ -79,64 +89,64 @@ typedef struct
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//20250116 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶Ȳɼ<EFBFBD><EFBFBD>ֽ<EFBFBD>
|
//20250116 增加温度采集字节
|
||||||
typedef struct _StrSwSample
|
typedef struct _StrSwSample
|
||||||
{
|
{
|
||||||
unsigned int emergency_stop_switch : 1; // ͨ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
unsigned int emergency_stop_switch : 1; // 通道1,急停开关
|
||||||
unsigned int High_voltage_switch : 1; // ͨ<EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
unsigned int High_voltage_switch : 1; // 通道2,高压开关
|
||||||
unsigned int CH03 : 1; // ͨ<EFBFBD><EFBFBD>3
|
unsigned int CH03 : 1; // 通道3
|
||||||
unsigned int CH04 : 1; // ͨ<EFBFBD><EFBFBD>4
|
unsigned int CH04 : 1; // 通道4
|
||||||
unsigned int CH05 : 1; // ͨ<EFBFBD><EFBFBD>5
|
unsigned int CH05 : 1; // 通道5
|
||||||
unsigned int CH06 : 1; // ͨ<EFBFBD><EFBFBD>6
|
unsigned int CH06 : 1; // 通道6
|
||||||
unsigned int CH07 : 1; // ͨ<EFBFBD><EFBFBD>7
|
unsigned int CH07 : 1; // 通道7
|
||||||
unsigned int CH08 : 1; // ͨ<EFBFBD><EFBFBD>8
|
unsigned int CH08 : 1; // 通道8
|
||||||
unsigned int CH09 : 1; // ͨ<EFBFBD><EFBFBD>9
|
unsigned int CH09 : 1; // 通道9
|
||||||
unsigned int CH10 : 1; // ͨ<EFBFBD><EFBFBD>10
|
unsigned int CH10 : 1; // 通道10
|
||||||
unsigned int CH11 : 1; // ͨ<EFBFBD><EFBFBD>11
|
unsigned int CH11 : 1; // 通道11
|
||||||
unsigned int CH12 : 1; // ͨ<EFBFBD><EFBFBD>12
|
unsigned int CH12 : 1; // 通道12
|
||||||
unsigned int CH13 : 1; // ͨ<EFBFBD><EFBFBD>13
|
unsigned int CH13 : 1; // 通道13
|
||||||
unsigned int CH14 : 1; // ͨ<EFBFBD><EFBFBD>14
|
unsigned int CH14 : 1; // 通道14
|
||||||
unsigned int CH15 : 1; // ͨ<EFBFBD><EFBFBD>15
|
unsigned int CH15 : 1; // 通道15
|
||||||
unsigned int CH16 : 1; // ͨ<EFBFBD><EFBFBD>16
|
unsigned int CH16 : 1; // 通道16
|
||||||
unsigned int CH17 : 1; // ͨ<EFBFBD><EFBFBD>17
|
unsigned int CH17 : 1; // 通道17
|
||||||
unsigned int CH18 : 1; // ͨ<EFBFBD><EFBFBD>18
|
unsigned int CH18 : 1; // 通道18
|
||||||
unsigned int CH19 : 1; // ͨ<EFBFBD><EFBFBD>19
|
unsigned int CH19 : 1; // 通道19
|
||||||
unsigned int CH20 : 1; // ͨ<EFBFBD><EFBFBD>20
|
unsigned int CH20 : 1; // 通道20
|
||||||
unsigned int CH21 : 1; // ͨ<EFBFBD><EFBFBD>21
|
unsigned int CH21 : 1; // 通道21
|
||||||
unsigned int CH22 : 1; // ͨ<EFBFBD><EFBFBD>22
|
unsigned int CH22 : 1; // 通道22
|
||||||
unsigned int CH23 : 1; // ͨ<EFBFBD><EFBFBD>23
|
unsigned int CH23 : 1; // 通道23
|
||||||
unsigned int CH24 : 1; // ͨ<EFBFBD><EFBFBD>24
|
unsigned int CH24 : 1; // 通道24
|
||||||
unsigned int CH25 : 1; // ͨ<EFBFBD><EFBFBD>25
|
unsigned int CH25 : 1; // 通道25
|
||||||
unsigned int CH26 : 1; // ͨ<EFBFBD><EFBFBD>26
|
unsigned int CH26 : 1; // 通道26
|
||||||
unsigned int CH27 : 1; // ͨ<EFBFBD><EFBFBD>27
|
unsigned int CH27 : 1; // 通道27
|
||||||
unsigned int CH28 : 1; // ͨ<EFBFBD><EFBFBD>28
|
unsigned int CH28 : 1; // 通道28
|
||||||
unsigned int CH29 : 1; // ͨ<EFBFBD><EFBFBD>29
|
unsigned int CH29 : 1; // 通道29
|
||||||
unsigned int CH30 : 1; // ͨ<EFBFBD><EFBFBD>30
|
unsigned int CH30 : 1; // 通道30
|
||||||
unsigned int CH31 : 1; // ͨ<EFBFBD><EFBFBD>31
|
unsigned int CH31 : 1; // 通道31
|
||||||
unsigned int CH32 : 1; // ͨ<EFBFBD><EFBFBD>32
|
unsigned int CH32 : 1; // 通道32
|
||||||
|
|
||||||
// unsigned int CH33 : 1; // ͨ<EFBFBD><EFBFBD>33
|
// unsigned int CH33 : 1; // 通道33
|
||||||
// unsigned int CH34 : 1; // ͨ<EFBFBD><EFBFBD>34
|
// unsigned int CH34 : 1; // 通道34
|
||||||
// unsigned int CH35 : 1; // ͨ<EFBFBD><EFBFBD>35
|
// unsigned int CH35 : 1; // 通道35
|
||||||
// unsigned int CH36 : 1; // ͨ<EFBFBD><EFBFBD>36
|
// unsigned int CH36 : 1; // 通道36
|
||||||
// unsigned int CH37 : 1; // ͨ<EFBFBD><EFBFBD>37
|
// unsigned int CH37 : 1; // 通道37
|
||||||
// unsigned int CH38 : 1; // ͨ<EFBFBD><EFBFBD>38
|
// unsigned int CH38 : 1; // 通道38
|
||||||
// unsigned int CH39 : 1; // ͨ<EFBFBD><EFBFBD>39
|
// unsigned int CH39 : 1; // 通道39
|
||||||
// unsigned int CH40 : 1; // ͨ<EFBFBD><EFBFBD>40
|
// unsigned int CH40 : 1; // 通道40
|
||||||
// unsigned int CH41 : 1; // ͨ<EFBFBD><EFBFBD>41
|
// unsigned int CH41 : 1; // 通道41
|
||||||
// unsigned int CH42 : 1; // ͨ<EFBFBD><EFBFBD>42
|
// unsigned int CH42 : 1; // 通道42
|
||||||
// unsigned int CH43 : 1; // ͨ<EFBFBD><EFBFBD>43
|
// unsigned int CH43 : 1; // 通道43
|
||||||
// unsigned int CH44 : 1; // ͨ<EFBFBD><EFBFBD>44
|
// unsigned int CH44 : 1; // 通道44
|
||||||
// unsigned int reserve : 4;
|
// unsigned int reserve : 4;
|
||||||
|
|
||||||
unsigned int temperature[2]; // <EFBFBD>¶<EFBFBD>
|
unsigned int temperature[2]; // 温度
|
||||||
|
|
||||||
} StrSwSample;
|
} StrSwSample;
|
||||||
|
|
||||||
typedef union _UnSwSample
|
typedef union _UnSwSample
|
||||||
{
|
{
|
||||||
StrSwSample bit_data; // ʹ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
StrSwSample bit_data; // 使用定义的结构体变量名
|
||||||
unsigned char arr[sizeof(StrSwSample)]; // ͨ<EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
|
unsigned char arr[sizeof(StrSwSample)]; // 通过结构体类型确定大小
|
||||||
} UnSwSample;
|
} UnSwSample;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user