公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

大家好,

我在研究 MTB 的 UART 功能时遇到了一个问题。

我知道 UART API 分为两类:高级和低级。

在 MTB 中,我可以选择使用哪个 API。

但是,即使我选择了高级 API 模式并仅使用低级 API 编写固件,UART 也能正常运行。

同样,尽管我选择了低级 API 模式并且只使用高级 API 来编写固件,但它仍然可以运行。

那么,选择 MTB API 模式为高级或低级是什么意思呢?

Oliver_Song_0-1701325978149.png

 

感谢您的支持,

问候,

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/Modus-Toolbox-UART-API-Mode/td-p/650121

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @Oliver_Song

低级 函数允许直接与硬件交互,不使用 cy _scb _uart_Interrupt。 这些函数不需要上下文即可操作。 因此,可以为 cy_scb_uart_ Init cy_scb_uart_Disable 中的上下文参数传递空值,而不是指向上下文结构 的指 针 。

级 API 使用 c y_scb_uart_Interrupt 来执行传输。 调用 cy_scb_uart_transt 开始传输。 调用 c y_scb_uart_rece ive 开始接收操作。 操作开始后,c y_scb_uart_Interrupt 会处理数据传输,直到其完成。 因此,必须在用户中断处理程序中调用 cy_scb_uart_Interrupt 才能使高级 API 正常工作。 要监视传输操作的状态,请使用 cy_scb_uart_getTransmansStatus c y_scb_uart_getReceiveStatu s 来适当地监视接收状态。或者,使用 c y_scb_uart_registerCallback 注册回调函数,接收有关 UART 回调事件的通知

因此,当你选择低级 API 时,你可以选择手动选择 Rx 和 Tx 中断源。

最好的问候
Ekta

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/Modus-Toolbox-UART-API-Mode/m-p/651101

在原帖中查看解决方案

0 点赞
1 回复
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @Oliver_Song

低级 函数允许直接与硬件交互,不使用 cy _scb _uart_Interrupt。 这些函数不需要上下文即可操作。 因此,可以为 cy_scb_uart_ Init cy_scb_uart_Disable 中的上下文参数传递空值,而不是指向上下文结构 的指 针 。

级 API 使用 c y_scb_uart_Interrupt 来执行传输。 调用 cy_scb_uart_transt 开始传输。 调用 c y_scb_uart_rece ive 开始接收操作。 操作开始后,c y_scb_uart_Interrupt 会处理数据传输,直到其完成。 因此,必须在用户中断处理程序中调用 cy_scb_uart_Interrupt 才能使高级 API 正常工作。 要监视传输操作的状态,请使用 cy_scb_uart_getTransmansStatus c y_scb_uart_getReceiveStatu s 来适当地监视接收状态。或者,使用 c y_scb_uart_registerCallback 注册回调函数,接收有关 UART 回调事件的通知

因此,当你选择低级 API 时,你可以选择手动选择 Rx 和 Tx 中断源。

最好的问候
Ekta

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-6/Modus-Toolbox-UART-API-Mode/m-p/651101

0 点赞