20260106_1:修改部分格式。

This commit is contained in:
2026-01-06 01:56:31 +08:00
parent 2e6795f988
commit 408af68973
9 changed files with 239 additions and 150 deletions

File diff suppressed because one or more lines are too long

View File

@@ -320,7 +320,7 @@
<Group> <Group>
<GroupName>User</GroupName> <GroupName>User</GroupName>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
@@ -936,7 +936,7 @@
<Group> <Group>
<GroupName>System</GroupName> <GroupName>System</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
@@ -1016,7 +1016,7 @@
<Group> <Group>
<GroupName>Drivers</GroupName> <GroupName>Drivers</GroupName>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>

View File

@@ -9,16 +9,16 @@
#define USE_SYS_TICK 0 #define USE_SYS_TICK 0
#define USE_DWT 1 #define USE_DWT 1
// 0xE000EDFC DEMCR RW Debug Exception and Monitor Control Register. /* 0xE000EDFC DEMCR RW Debug Exception and Monitor Control Register. */
#define DEMCR ( *(__IO uint32_t *)0xE000EDFC ) #define DEMCR ( *(__IO uint32_t *)0xE000EDFC )
#define TRCENA ( 0x01 << 24) // DEMCR的DWT使能位 #define TRCENA ( 0x01 << 24) // DEMCR的DWT使能位
#define DBGMCU_CR *(__IO uint32_t *)0xE0042004 // MCU调试模块控制寄存器详细内容参考《stm32中文参考手册》调试支持DBG章节747页 #define DBGMCU_CR *(__IO uint32_t *)0xE0042004 // MCU调试模块控制寄存器详细内容参考《stm32中文参考手册》调试支持DBG章节747页
// 0xE0001000 DWT_CTRL RW The Debug Watchpoint and Trace (DWT) unit /* 0xE0001000 DWT_CTRL RW The Debug Watchpoint and Trace (DWT) unit */
#define DWT_CTRL ( *(__IO uint32_t *)0xE0001000 ) #define DWT_CTRL ( *(__IO uint32_t *)0xE0001000 )
#define DWT_CTRL_CYCCNTENA ( 0x01 << 0 ) // DWT的SYCCNT使能位 #define DWT_CTRL_CYCCNTENA ( 0x01 << 0 ) // DWT的SYCCNT使能位
// 0xE0001004 DWT_CYCCNT RW Cycle Count register, /* 0xE0001004 DWT_CYCCNT RW Cycle Count Register */
#define DWT_CYCCNT ( *(__IO uint32_t *)0xE0001004 ) // 显示或设置处理器的周期计数值 #define DWT_CYCCNT ( *(__IO uint32_t *)0xE0001004 ) // 显示或设置处理器的周期计数值
// #define DWT_DELAY_mS(mSec) DWT_DELAY_uS(mSec*1000) // #define DWT_DELAY_mS(mSec) DWT_DELAY_uS(mSec*1000)

View File

@@ -106,8 +106,8 @@ bool bEsp8266SendString ( FunctionalState en
char * pcEsp8266ReceiveString ( FunctionalState enumEnUnvarnishTx ); char * pcEsp8266ReceiveString ( FunctionalState enumEnUnvarnishTx );
/* <20>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>õIJ<C3B5><C4B2><EFBFBD> */ /* <20>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>õIJ<C3B5><C4B2><EFBFBD> */
#define macUser_ESP8266_ApSsid "TESTAP666" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #define ESP8266_APSSID "TESTAP666" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define macUser_ESP8266_ApPwd "123345567" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>Կ #define ESP8266_APPWD "123345567" // Ҫ<><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>Կ
/* <20>ⲿȫ<E2B2BF>ֱ<EFBFBD><D6B1><EFBFBD> */ /* <20>ⲿȫ<E2B2BF>ֱ<EFBFBD><D6B1><EFBFBD> */

File diff suppressed because one or more lines are too long

View File

@@ -148,7 +148,40 @@
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM))</Name> <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM))</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>71</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\User\main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>72</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>.\User\main.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<WatchWindow1> <WatchWindow1>
<Ww> <Ww>
<count>0</count> <count>0</count>

View File

@@ -2,9 +2,12 @@
#if MODE == USE_SYS_TICK #if MODE == USE_SYS_TICK
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>ӳٺ<D3B3><D9BA><EFBFBD> /**
//SYSTICK<43><4B>ʱ<EFBFBD>ӹ̶<D3B9>ΪAHBʱ<42>ӵ<EFBFBD>1/8 * @brief <20><>ʼ<EFBFBD><CABC><EFBFBD>ӳٺ<D3B3><D9BA><EFBFBD>
//SYSCLK:ϵͳʱ<CDB3><CAB1>Ƶ<EFBFBD><C6B5> * @note <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>SYSTICK<43><4B>ʱ<EFBFBD>ӹ̶<D3B9>ΪAHBʱ<42>ӵ<EFBFBD>1/8<><38>SYSCLK:ϵͳʱ<CDB3><CAB1>Ƶ<EFBFBD><C6B5>
* @param None
* @retval None
*/
void vDelayInit(void) void vDelayInit(void)
{ {
uint8_t ucSYSCLK; uint8_t ucSYSCLK;
@@ -13,8 +16,12 @@ void vDelayInit(void)
xUcFacInit.usFacMs=(uint16_t)xUcFacInit.ucFacUs*1000; xUcFacInit.usFacMs=(uint16_t)xUcFacInit.ucFacUs*1000;
} }
//<2F><>ʱnus /**
//nusΪҪ<CEAA><D2AA>ʱ<EFBFBD><CAB1>us<75><73>. * @brief ΢<><EFBFBD><EBBCB6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
* @note <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ16777215us
* @param ulNus: <20><>ʱ<EFBFBD><CAB1>΢<EFBFBD><CEA2><EFBFBD><EFBFBD>
* @retval None
*/
void vDelayUs(uint32_t ulNus) void vDelayUs(uint32_t ulNus)
{ {
uint32_t ulTemp; uint32_t ulTemp;
@@ -31,8 +38,8 @@ void vDelayUs(uint32_t ulNus)
/** /**
* @brief <20><><EFBFBD><EFBFBD><EBBCB6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> * @brief <20><><EFBFBD><EFBFBD><EBBCB6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
* @note <20><><EFBFBD><EFBFBD>Systick<63><6B>ʱ<EFBFBD><CAB1>Ϊ24λ<34><CEBB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ֵΪ0xFFFFFF<46><46>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>16777215<31><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>0xFFFFFF<46><46><EFBFBD><EFBFBD>ʵ<EFBFBD>ʼ<EFBFBD><CABC>ص<EFBFBD>ֵ<EFBFBD><D6B5>ȡģ<C8A1><C4A3><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD> * @note <20><><EFBFBD><EFBFBD>Systick<63><6B>ʱ<EFBFBD><CAB1>Ϊ24λ<34><CEBB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>ֵΪ0xFFFFFF<46><46>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>16777215<31><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>0xFFFFFF<46><46><EFBFBD><EFBFBD>ʵ<EFBFBD>ʼ<EFBFBD><CABC>ص<EFBFBD>ֵ<EFBFBD><D6B5>ȡģ<C8A1><C4A3><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<CAB1><CAB1><EFBFBD><EFBFBD><EFBFBD>̡<EFBFBD>
* usNms<=0xFFFFFF*8*1000/SYSCLK<4C><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>72M<32><4D><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.864s<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱΪxms-16777215<31>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD> * <20><><EFBFBD>Գ<EFBFBD><EFBFBD><EFBFBD>1.864s<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱΪxms-16777215<31>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD>
* @note <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʱ<EFBFBD>Ƿ񳬹<C7B7><F1B3ACB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳɶ<D6B3><C9B6><EFBFBD>1000ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD> * @note <20><><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>ʱ<EFBFBD>Ƿ񳬹<C7B7><F1B3ACB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳɶ<D6B3><C9B6><EFBFBD>1000ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param None * @param None
* @retval None * @retval None
@@ -59,54 +66,67 @@ void vDelayMs(uint16_t usNms)
#elif MODE == USE_DWT #elif MODE == USE_DWT
/**
* @brief DWT<57><54>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
* @note DWT<57><54>ʱ<EFBFBD><CAB1><EFBFBD>ȸߣ<C8B8><DFA3>ʺ϶<CABA>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ
* @param None
* @retval None
*/
void vDelayInit(void) void vDelayInit(void)
{ {
DEMCR |= (uint32_t)TRCENA; // ʹ<><CAB9>DWT<57><54><EFBFBD><EFBFBD> DEMCR |= (uint32_t)TRCENA; // ʹ<><CAB9>DWT<57><54><EFBFBD><EFBFBD>
DWT_CYCCNT = (uint32_t)0u; // DWT CYCCNT<4E>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0 DWT_CYCCNT = (uint32_t)0u; // CYCCNT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DWT_CTRL |= (uint32_t)DWT_CTRL_CYCCNTENA; // ʹ<><CAB9>Cortex-M3 DWT CYCCNT<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD> DWT_CTRL |= (uint32_t)DWT_CTRL_CYCCNTENA; // ʹ<><CAB9>CYCCNT<4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
} }
// ΢<><CEA2><EFBFBD><EFBFBD>ʱ /**
* @brief ΢<><EFBFBD><EBBCB6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
* @note <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ10000us
* @param ulNus: <20><>ʱ<EFBFBD><CAB1>΢<EFBFBD><CEA2><EFBFBD><EFBFBD>
* @retval None
*/
void vDelayUs(uint32_t ulNus) void vDelayUs(uint32_t ulNus)
{ {
if(ulNus > 10000) ulNus = 10000; if(ulNus > 10000) ulNus = 10000;
uint32_t ulTicksStart, ulTicksEnd, ulTicksDelay; uint32_t ulTicksStart, ulTicksEnd, ulTicksDelay;
ulTicksStart = DWT_CYCCNT; ulTicksStart = DWT_CYCCNT;
ulTicksDelay = ( ulNus * ( SystemCoreClock / (1000000) ) ); // <20><>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵδ<C9B5><CEB4><EFBFBD> ulTicksDelay = ( ulNus * ( SystemCoreClock / (1000000) ) ); // <20><>΢<EFBFBD><CEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵδ<C9B5><CEB4><EFBFBD>
ulTicksEnd = ulTicksStart + ulTicksDelay; ulTicksEnd = ulTicksStart + ulTicksDelay;
/* <20><>ulTicksEndû<64><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ */
if ( ulTicksEnd >= ulTicksStart ) // ulTicksEndû<64><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> if ( ulTicksEnd >= ulTicksStart )
{ {
if(DWT_CYCCNT > ulTicksStart) // DWT_CYCCNT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> if(DWT_CYCCNT > ulTicksStart) // DWT_CYCCNT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{ {
while( DWT_CYCCNT < ulTicksEnd ); while( DWT_CYCCNT < ulTicksEnd );
} }
// DWT_CYCCNT<4E><54><EFBFBD><EFBFBD> /* DWT_CYCCNT<4E><54><EFBFBD><EFBFBD>ʱ */
else else
{ {
return; // <20>Ѿ<EFBFBD><D1BE><EFBFBD>ʱ<EFBFBD><CAB1>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD> return; // <20>Ѿ<EFBFBD><D1BE><EFBFBD>ʱ<EFBFBD><CAB1>ֱ<EFBFBD><D6B1><EFBFBD>˳<EFBFBD>
} }
} }
else // ulTicksEnd<EFBFBD><EFBFBD><EFBFBD><EFBFBD> /* <20><>ulTicksEnd<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ */
else
{ {
// DWT_CYCCNT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> /* DWT_CYCCNT<4E><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ */
if(DWT_CYCCNT > ulTicksStart) if(DWT_CYCCNT > ulTicksStart)
{ {
// <20>ȴ<EFBFBD>DWT_CYCCNT<4E><54>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> while( DWT_CYCCNT > ulTicksEnd ); // <20>ȴ<EFBFBD>DWT_CYCCNT<4E><54><EFBFBD><EFBFBD>
while( DWT_CYCCNT > ulTicksEnd );
} }
// <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DWT_CYCCNT<4E><54><EFBFBD><EFBFBD>ulTicksEnd while( DWT_CYCCNT < ulTicksEnd ); // <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DWT_CYCCNT<4E><54><EFBFBD><EFBFBD>ulTicksEnd
while( DWT_CYCCNT < ulTicksEnd );
} }
} }
/**
* @brief <20><><EFBFBD><EFBFBD><EBBCB6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
* @note <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ65535ms
* @param usNms: <20><>ʱ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
* @retval None
*/
void vDelayMs(uint16_t usNms) void vDelayMs(uint16_t usNms)
{ {
for(uint16_t i = 0; i < usNms; i++) for(uint16_t i = 0; i < usNms; i++)
{ {
// delay 1 ms
vDelayUs(1000); vDelayUs(1000);
} }
} }

View File

@@ -9,16 +9,16 @@
#define USE_SYS_TICK 0 #define USE_SYS_TICK 0
#define USE_DWT 1 #define USE_DWT 1
// 0xE000EDFC DEMCR RW Debug Exception and Monitor Control Register. /* 0xE000EDFC DEMCR RW Debug Exception and Monitor Control Register. */
#define DEMCR ( *(__IO uint32_t *)0xE000EDFC ) #define DEMCR ( *(__IO uint32_t *)0xE000EDFC )
#define TRCENA ( 0x01 << 24) // DEMCR的DWT使能位 #define TRCENA ( 0x01 << 24) // DEMCR的DWT使能位
#define DBGMCU_CR *(__IO uint32_t *)0xE0042004 // MCU调试模块控制寄存器详细内容参考《stm32中文参考手册》调试支持DBG章节747页 #define DBGMCU_CR *(__IO uint32_t *)0xE0042004 // MCU调试模块控制寄存器详细内容参考《stm32中文参考手册》调试支持DBG章节747页
// 0xE0001000 DWT_CTRL RW The Debug Watchpoint and Trace (DWT) unit /* 0xE0001000 DWT_CTRL RW The Debug Watchpoint and Trace (DWT) unit */
#define DWT_CTRL ( *(__IO uint32_t *)0xE0001000 ) #define DWT_CTRL ( *(__IO uint32_t *)0xE0001000 )
#define DWT_CTRL_CYCCNTENA ( 0x01 << 0 ) // DWT的SYCCNT使能位 #define DWT_CTRL_CYCCNTENA ( 0x01 << 0 ) // DWT的SYCCNT使能位
// 0xE0001004 DWT_CYCCNT RW Cycle Count register, /* 0xE0001004 DWT_CYCCNT RW Cycle Count Register */
#define DWT_CYCCNT ( *(__IO uint32_t *)0xE0001004 ) // 显示或设置处理器的周期计数值 #define DWT_CYCCNT ( *(__IO uint32_t *)0xE0001004 ) // 显示或设置处理器的周期计数值
// #define DWT_DELAY_mS(mSec) DWT_DELAY_uS(mSec*1000) // #define DWT_DELAY_mS(mSec) DWT_DELAY_uS(mSec*1000)

View File

@@ -49,7 +49,7 @@ void vTaskApConnection(void *pvParameters)
macESP8266_CH_ENABLE(); macESP8266_CH_ENABLE();
vEsp8266AtTest(); vEsp8266AtTest();
bEsp8266NetModeChoose(STA); bEsp8266NetModeChoose(STA);
while ( ! bEsp8266JoinAp ( macUser_ESP8266_ApSsid, macUser_ESP8266_ApPwd ) ); while(!bEsp8266JoinAp(ESP8266_APSSID, ESP8266_APPWD));
vTaskDelete(NULL); vTaskDelete(NULL);
} }
} }