jinglixixi 发表于 2022-12-30 19:35

[ ST NUCLEO-U575ZI-Q 测评]+ 串口收发功能的测试及使用

<p>在厂家提供的例程中,有串口收发功能测试的示例,其使用的是UART2,即CN9上的引脚PD5和PD6,见图1所示。</p>

<p></p>

<p>图1 所用引脚</p>

<p >&nbsp;</p>

<p >为此,需要用一个USB转TTL的模块来与开发板连接,见图2所示。</p>

<p ></p>

<p>图2 器件连接</p>

<p >&nbsp;</p>

<p >按说在上电后会在串口调试工具上见到一些调试内容,但却并无任何的迹象,只有开发板上的蓝色指示灯在不停地闪烁。</p>

<p >经对程序的分析才发现,原来这是在等发送的指令呢,必须按下板上蓝色的用户键才能发送信息,见图3所示。</p>

<p >在按下用户键键之后,蓝色的指示灯则会熄灭。这又是等待啥操作呢?</p>

<p >原来是在等你发送信息进行欢迎呢,此时你只有将原文一丝不差发送回去才会在比较后点亮蓝色指示灯。</p>

<p ></p>

<p>图3 串口收发测试</p>

<p >&nbsp;</p>

<p >相应的测试主程序如下:</p>

<pre>
<code class="language-cpp">int main(void)
{
HAL_Init();
SystemClock_Config();
SystemPower_Config();
MX_GPIO_Init();
MX_ICACHE_Init();
MX_USART2_UART_Init();
BSP_LED_Init(LED2);
BSP_LED_Init(LED3);
#ifdef TRANSMITTER_BOARD
BSP_PB_Init(BUTTON_USER, BUTTON_MODE_EXTI);
while (UserButtonStatus == 0)
{
    /* Toggle LED2*/
    BSP_LED_Toggle(LED2);
    HAL_Delay(100);
}
BSP_LED_Off(LED2);
if (HAL_UART_Transmit(&amp;huart2, (uint8_t *)aTxBuffer, TXBUFFERSIZE, 5000) != HAL_OK)
{
    Error_Handler();
}
if (HAL_UART_Receive(&amp;huart2, (uint8_t *)aRxBuffer, RXBUFFERSIZE, 5000) != HAL_OK)
{
    Error_Handler();
}

#else
if (HAL_UART_Receive(&amp;huart2, (uint8_t *)aRxBuffer, RXBUFFERSIZE, 0x1FFFFFF) != HAL_OK)
{
    Error_Handler();
}
if (HAL_UART_Transmit(&amp;huart2, (uint8_t *)aTxBuffer, TXBUFFERSIZE, 5000) != HAL_OK)
{
    Error_Handler();
}
#endif
if (Buffercmp((uint8_t *)aTxBuffer, (uint8_t *)aRxBuffer, RXBUFFERSIZE))
{
    Error_Handler();
}
BSP_LED_On(LED2);
while (1)
{
}
}
</code></pre>

<p>这就为我们学习串口收发数据提供了良好的范例,那我们又能利用它来做些什么呢?</p>

<p >对于大多数的串口设备是通过指令来控制的,那通过这个例程能否发送字节指令呢?</p>

<p >回答是肯定的,下面就以串口为例加以测试。</p>

<p >实现要对应一个指令数组,并为其写入相应的指令内容:</p>

<p >uint8_t zl[] = {0x74,0x39,0x2E,0x74,0x78,0x74,0x3D,0x22,0x30,0x38,0x3A,0x31,0x32,0x3A,0x32,0x30,0x22,0xff,0xff,0xff};</p>

<p >然后使用方式函数:</p>

<p >HAL_UART_Transmit(&amp;huart2, (uint8_t *)zl,20, 5000);</p>

<p >即可实现指令的发送,其发送的指令内容如图4和图5所示。</p>

<p > &nbsp;图4 指令内容</p>

<p ></p>

<p>图5&nbsp; 十六进制形式</p>

<p >&nbsp;</p>

<p >串口屏与开发板的连接方式和控制效果,则如图6和图7所示。</p>

<p > 图6 连接方式</p>

<p >图7 显示效果</p>

<p >&nbsp;</p>

<p >此外,值得一提的是不得不说开发板的输出功率还是可以的,居然能为串口屏提供电源支持!</p>

<p >&nbsp;</p>

<p >&nbsp;</p>

<p >&nbsp;</p>

<p >&nbsp;</p>

<p >&nbsp;</p>

<p >&nbsp;</p>

<p>&nbsp;</p>

Jacktang 发表于 2023-1-4 08:27

<p>串口屏提供电源支持功率,开发板的供电还行</p>

okhxyyo 发表于 2023-1-12 09:35

<p>测评汇总:免费申请|ST NUCLEO-U575ZI-Q https://bbs.eeworld.com.cn/thread-1228653-1-1.html</p>
页: [1]
查看完整版本: [ ST NUCLEO-U575ZI-Q 测评]+ 串口收发功能的测试及使用