プロテウス+ VSPDシリアルポートエミュレーションSTM32
準備ツール
- STM32 CubeMXは
Halはまた、Keil社、非本質的に、本研究で確立エンジニアリングCubeMXと直接ファームウェアライブラリー作品を作成することができます場合は、ライブラリを使用しない場合は、STM32作品を作成するために使用されます - keil5 / IAR
プログラミングのため。 - プロテウス
描画のための回路シミュレーション図。 - VSPD
VSPDがある仮想シリアルポートソフトウェア、VSPDのダウンロードリンク:https://pan.baidu.com/s/126ZXjs6z9E8mnMDLybnfIg
抽出コード:XAMA
オープンインストール後、仮想シリアルポートを作成します。データのみCOM1 COM2に送信できるようにVSPDは、ペアでこのようなCOM1、COM2のように、シリアルポートの形態で添加され、COM2 COM1が自動的に送信されたデータを受信します。
示されているように、我々は成功し、仮想シリアルポートを作成しました。 - シリアルデバッグアシスタント
XCOMとしては、することができます。
プロテウスプロジェクト
新築プロテウス後、Pはキー開口要素ライブラリ、MCUチップセレクトタイプIは、本明細書stm32f103c6ショートカット、リセット回路と外部水晶を必要としない特徴、他の要素を追加して、追加できません。
また、当社は、DB9シリアルポート、コンポーネントライブラリ検索COMPIMを使用する必要があります。TXとSTM32、RX及びRXが接続されているTX COMPIMに接続されているのではなく、物理的架橋(接続TX RX、TXもRX)として。
COMPIM設定オプション:
CubeMXのプロジェクト構成
シリアルトランシーバプログラム
シリアル通信の参照ブログについて:https://blog.csdn.net/weixin_43116606/article/details/104222528
ここでは、キーコードの一部のみを掲載。
/* USER CODE BEGIN 2 */
HAL_UART_Receive_IT(&huart1, (uint8_t *)&aRxBuffer, 1);
user_main_printf("hello,"带火星的小木条!");
/* USER CODE END 2 */
/* USER CODE BEGIN 4 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
char *pCmd = NULL;
uint8_t len;
switch(aRxBuffer){
case '1':
pCmd = "command 1\r\n";
len = strlen(pCmd);
break;
case '2':
pCmd = "command 2\r\n";
len = strlen(pCmd);
break;
case '3':
pCmd = "command 3\r\n";
len = strlen(pCmd);
break;
case '4':
pCmd = "command 4\r\n";
len = strlen(pCmd);
break;
default:
pCmd = "command cmd\r\n";
len = strlen(pCmd);
break;
}
HAL_UART_Transmit(&huart1, (uint8_t *)pCmd, len,0xFFFF);
HAL_UART_Receive_IT(&huart1, (uint8_t *)&aRxBuffer, 1);
}
/* USER CODE END 4 */
仮想シリアルポートエミュレーション
戻るプロテウス、STM32チップをダブルクリックしてhexファイルをロードし、結晶を設定するには、8Mです。
COM2、9600と同じボーレートを選択し、シリアルデバッグアシスタントを開きます。
最初のシリアルポートを開き、プロテウスシミュレーションプロジェクトを実行します。
PS:仮想シリアルポートを削除することを忘れないように出て実行した後、シリアルポートはそうでない占有ヨーヨーだっただろう