私は MKE06Z128VQH4 を使用してプログラムをデバッグしており、特に Bluetooth に使用する UART バッファー内の受信値を確認するためにグローバル変数を使用したいと考えていました。しかし、再生を押すと、変数はグローバルであるにもかかわらず、使用不可として表示されます。また、メイン関数にcontaという変数を追加して、それが増分されるかどうか確認し、テストしましたが、まだ使用できないように表示されます。すでに設定に入り、「ライブ変数サービスを有効にする」を無効にしました。私は中国製の J-Link プログラマーを使用しています。
Iotelctronic_0-1764607762489.png
Iotelctronic_1-1764607894650.png
Iotelctronic_2-1764607934868.png
Hello
使用している MCUXpresso IDE のバージョンを確認していただけますか?MKE06Z128VQH4 のプロジェクトを作成するプロセスについて説明していただけますか?
「conta」の宣言を共有していただけますか?
中国の J-Link プログラマーについての詳細を教えていただけますか?
よろしくお願いいたします。
ルイス
こんにちは。返信ありがとうございます。私は MCUXpresso IDE v24.12 を使用しており、構成ツールを使用して構成を行っています。現時点では、メイン ループで増加するグローバル変数のみをテストしています。UART はすでに実行されており正常に動作しているため、クロックの問題はありません。他のプロジェクトのニーズを続行し、プログラムの実行中に変数の値を監視するために、最初はライブ式で変数の更新をリアルタイムで確認したいと考えていました。中国製プログラマーについて話すとき、私は AliExpress で購入した J-Link Segger v9-G プログラマーについて言及しています。中国人プログラマーと言うとき、それは独創的ではないという意味ですが、それが問題だとは思いません。私の最初のテストコードは次のとおりです。
#include "pin_mux.h"
#include "board.h"
#include "fsl_uart.h"
#include "fsl_debug_console.h"
#include
/*******************************************************************************
* Definitions
******************************************************************************/
#define DATA_UART UART0
#define DATA_UART_CLK_FREQ CLOCK_GetFreq(kCLOCK_BusClk)
#define DATA_UART_IRQn UART0_IRQn
#define DATA_UART_IRQHandler UART0_IRQHandler
/*******************************************************************************
* Variables Globales
******************************************************************************/
uint32_t conta = 0;
unsigned char rx_aux;
/******************************************************************************\
*
* ************************* otra recepcion uart de prueba ******************
*/
void UART0_IRQHandler(void) {
if (UART0->S1 & UART_S1_RDRF_MASK) {
rx_aux = UART0->D; //lê o caracter recebido
}
}
/*******************************************************************************
* Main Application
******************************************************************************/
int main(void) {
uart_config_t uart_config;
/*** 1. INICIALIZACIÓN ***/
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitDebugConsole();
/*** 2. CONFIGURACIÓN UART0 ***/
UART_GetDefaultConfig(&uart_config);
uart_config.baudRate_Bps = 115200;
uart_config.enableTx = true;
uart_config.enableRx = true;
UART_Init(DATA_UART, &uart_config, DATA_UART_CLK_FREQ);
/*** 3. CONFIGURACIÓN INTERRUPCIONES ***/
DATA_UART->C2 |= UART_C2_RIE_MASK; // Habilita interrupción RX
NVIC_SetPriority(DATA_UART_IRQn, 0);
NVIC_EnableIRQ(DATA_UART_IRQn);
while (1) {
conta++;
/********************************************************/
// Delay mínimo
for(volatile int i = 0; i < 50; i++);
}
}
こんにちは、
プログラム実行中にグローバル変数の更新を監視して視覚化します
MCUXPRESSO-UG [MCUXPRESSO IDE ユーザーガイド] の14.10章を参照してください。
また、この投稿では簡単な説明であなたを導くことができます
EclipseとMCUXpresso IDEsを使用してターゲット実行中にグローバル変数を視覚化する | MCU on Eclipse
敬具、ルイス
ありがとうございます。J-Link は「ノンストップ モード」を受け入れず、MCU-Link などの LinkServer 互換デバッガーのみを受け入れることがわかりました。