digitriada.blogg.se

Segger embedded studio overlap text
Segger embedded studio overlap text







segger embedded studio overlap text

The variable 'g_ullSystemTick' is global variable and use 'volatile' qualifier, shouldn't the compiler update the value very time it is used? How can I solve this problem, and how can I avoid similar problem in the future? You can see that when the code 'g_ullIntervalTick = g_ullSystemTick - g_ullStartTick ' be executed,the compiler still use r0 and r1 as the value of 'g_ullSystemTick',but at this moment the value of 'g_ullSystemTick' may have been updated by the timmer ISR, and the compiler still use the old value. if ((pars - > timeout) & (!s_ulOperateTimeoutCounter)).I debug this program, found g_ulMaxCenterSendWaitTime always be 0, and I know that's clearly wrong,it's definitely not going to be 0. g_ulMaxCenterSendExcuteTime = g_ullIntervalTick.if (g_ullIntervalTick > g_ulMaxCenterSendExcuteTime).if (ble_nus_c_string_send(p_ble_nus_c, &txbuf, factlen) = NRF_SUCCESS).g_ulMaxCenterSendWaitTime = g_ullIntervalTick.if (g_ullIntervalTick > g_ulMaxCenterSendWaitTime).g_ullIntervalTick = g_ullSystemTick - g_ullStartTick.if ((!g_tBleInterface.ble_connectsta) || (m_conn_handle_nus_c = BLE_CONN_HANDLE_INVALID)).if ((pars->timeout) & (!s_ulOperateTimeoutCounter)).volatile uint64_t g_ullStartTick = 0, g_ullIntervalTick = 0.volatile uint32_t g_ulMaxCenterSendWaitTime = 0, g_ulMaxCenterSendExcuteTime = 0.









Segger embedded studio overlap text