亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在STM32F407VGT6上使用serialX的步驟

冬至子 ? 來(lái)源:阿富汗老嬴政 ? 作者:阿富汗老嬴政 ? 2023-08-24 17:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RT-Thread Studio版本: 2.2.5,RT-Thread v4.1.0 ,

新建RTthread STM32F407VGT6項(xiàng)目。打開(kāi)CUBEMAX配置調(diào)試口,外部時(shí)鐘,串口1(控制臺(tái)),串口3,串口開(kāi)啟中斷,生成代碼。
刪除掉原來(lái)的serial.c; serial.h; serialV2.c; serialV2.h;
drv_uart.c; drv_uart.h; drv_uart_V2.c; drv_uart_V2.h;
并使用serialX.c; serialX.h; drv_usartX.c; drv_usartX.h 替換
修改/rt-thread[4.1.0]/components/drivers路徑下的Kconfig文件,找到if RT_USING_SERIAL修改一段代碼,使setting頁(yè)面可以配置serialX。

if RT_USING_SERIAL
choice
prompt "Choice Serial version"
default RT_USING_SERIAL_X
config RT_USING_SERIAL_X
bool "RT_USING_SERIAL_X"
endchoice
config RT_SERIAL_USING_DMA
bool "Enable serial DMA mode"
default n
endif

4.修改/rt-thread[4.1.0]/components/drivers/serial 文件夾下的SConscript文件代碼,以使用serialX.c文件

from building import *
cwd = GetCurrentDir()
CPPPATH = [cwd + '/../include']
group = []
if GetDepend(['RT_USING_SERIAL']):
if GetDepend(['RT_USING_SERIAL_X']):
src = Glob('serialX.c')
group = DefineGroup('DeviceDrivers', src, depend = ['RT_USING_SERIAL_X'], CPPPATH = CPPPATH)
Return('group')

5.找到rt_device.h文件的SERIAL部分,修改代碼,使之可以包含serialX.h 文件。

#ifdef RT_USING_SERIAL
#ifdef RT_USING_SERIAL_X
#include "drivers/serialX.h"
#endif
#endif /* RT_USING_SERIAL */

6.打開(kāi)uart_config.h文件,找到#define UART1_CONFIG部分刪除掉結(jié)構(gòu)體中.tx_pin_name和 .rx_pin_name成員。而且后續(xù)使用哪個(gè)串口就必須修改相對(duì)應(yīng)的結(jié)構(gòu)體宏定義。

7.打開(kāi)drv_usartX.c文件,按需求增加自己所需要的串口代碼
比如用到串口3中斷,不使用DMA, 則需要添加串口3 中斷函數(shù)。

#if defined(BSP_USING_UART3)
void USART3_IRQHandler(void)
{
/* enter interrupt /
rt_interrupt_enter();
uart_isr(&(uart_obj[UART3_INDEX].serial));
/
leave interrupt /
rt_interrupt_leave();
}
#endif /
BSP_USING_UART3 */
8.找到drv_common.c文件的串口部分,修改代碼

#ifdef RT_USING_SERIAL
#ifdef RT_USING_SERIAL_X
#include "drv_usartX.h"
#endif /* RT_USING_SERIAL /
#endif /
RT_USING_SERIAL_X */

9.使用下載來(lái)的文件替換掉rtdef.h文件,并且將新的文件中rt_mutex結(jié)構(gòu)體定義中的value成員的注釋關(guān)掉

10.打開(kāi)components.c文件,修改rit_end函數(shù)
這里必須修改,否則控制臺(tái)shell線程不會(huì)自啟動(dòng)

static int rti_end(void)
{
return 0;
}
INIT_EXPORT(rti_end, "7.end");

11.如果關(guān)于serialX的相關(guān)文件已經(jīng)按以上步驟修改了,但是依找不到文件,可以嘗試在setting中更新配置(比如開(kāi)關(guān)串口DMA選項(xiàng))。

board.h中添加

#define BSP_USING_UART1
#define BSP_USING_UART3
main函數(shù)中打開(kāi)串口

rt_device_open(u3_dev, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_INT_TX | RT_DEVICE_OFLAG_NONBLOCKING);

完成!

1.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    577

    瀏覽量

    105095
  • UART接口
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    16261
  • 串口中斷
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

    14527
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1511

    瀏覽量

    43974
  • STM32F407VGT6
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    4457
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32F407VGT6刷了一次程序,再刷的時(shí)候不成功,為什么?

    STM32F407VGT6刷了一次程序,再刷的時(shí)候不成功 幫我看看什么原因,謝謝大佬了
    發(fā)表于 03-29 06:55

    程序下載到STM32F407VGT6不能運(yùn)行的原因?

    程序STM32F407ZE可行,下載到STM32F407VGT6不能運(yùn)行 有沒(méi)有懂的,求指教
    發(fā)表于 05-31 06:22

    STM32F407VGT6使用PLL倍頻后芯片會(huì)反復(fù)重啟怎么解決?

    STM32F407VGT6使用內(nèi)部16M晶振,沒(méi)有使用PLL倍頻,直接用HSI做時(shí)鐘源程序可以正常跑通,但是使用PLL倍頻后芯片就會(huì)反復(fù)重啟,就算倍頻到16M也會(huì)反復(fù)重啟,,每33ms重啟一起。
    發(fā)表于 03-12 06:04

    STM32F407VGT6核心板 STM32F4單片機(jī)開(kāi)發(fā)板 提供圖紙及例程

    JTAG口仿真下載程序。 特點(diǎn):MCU: STM32F407VGT6 (100腳)最大工作頻率:168M1MB Flash and 192+4KB RAM板25M 晶振TXD, RXD, GND焊盤一個(gè)
    發(fā)表于 09-16 11:53

    STM32F407VGT6的485通信程序

    STM32F407VGT6的485通信程序【SP3485芯片&中斷接收】.pdf
    發(fā)表于 07-04 03:52

    STM32F407VGT6用ISP和IAP方式都下載不進(jìn)去

    最近新畫(huà)了塊板子,用的是STM32F407VGT6,用ISP和IAP方式都下載不進(jìn)去,求助。1.我已經(jīng)boot0=1(拉10K到3.3V),boot1=0(下拉10K到GND)。ISP下載
    發(fā)表于 03-14 06:25

    W5500STM32F407VGT6如何移植(成功)

    搗鼓成了。1.硬件信息: MCU:STM32F407VGT6 以太網(wǎng)芯片:W5500 接口:SPI2(STM32F407)下面是測(cè)試圖片及源代碼。STM32F407VGT6_w5500_tcp_client.rar (2.49
    發(fā)表于 05-29 09:15

    STM32F407VGT6型號(hào)的具體解釋

    單片機(jī)型號(hào):STM32F407VGT6本文檔介紹STM32F407VGT6型號(hào)的具體解釋,如下圖所示。具體解釋:STM32,gerneral purpose,以太網(wǎng)接口,100引腳,1024K Flash空間,LQFP封裝,-4
    發(fā)表于 08-04 06:38

    關(guān)于STM32F407VGT6型號(hào)的具體解釋

    STM32F407VGT6單片機(jī)有哪些基本參數(shù)?STM32F407VGT6單片機(jī)有哪些特性?
    發(fā)表于 10-20 06:20

    如何使用STM32F407VGT66路PWM輸出通道來(lái)控制6個(gè)舵機(jī)的運(yùn)動(dòng)?

    如何使用STM32F407VGT66路PWM輸出通道來(lái)控制6個(gè)舵機(jī)的運(yùn)動(dòng)?
    發(fā)表于 10-25 07:37

    新建一個(gè)基于STM32F407VGT6的RT-Thread項(xiàng)目編譯出錯(cuò)如何解決

    照著B(niǎo)站官方視頻,新建了一個(gè)基于芯片STM32F407VGT6的RT-Thread項(xiàng)目,但是編譯之后出現(xiàn)五個(gè)錯(cuò)誤。不知道咋解決。
    發(fā)表于 10-18 10:02

    淺析STM32F407VGT6項(xiàng)目使用serialX的流程

    RT-Thread Studio版本: 2.2.5,RT-Thread v4.1.0 ,新建RTthread STM32F407VGT6項(xiàng)目。打開(kāi)CUBEMAX配置調(diào)試口,外部時(shí)鐘,串口1(控制臺(tái)
    發(fā)表于 11-30 11:03

    具有CAN總線通信的STM32F74G-DISCO和STM32f407VGT6無(wú)法正常工作如何解決?

    我有兩塊板:STM32F74G-DISCO 和 STM32f407VGT6 它們與 CAN 總線連接,但連接不工作。附件中的圖片是我的架構(gòu)。我認(rèn)為我的代碼沒(méi)問(wèn)題,但我不確定模式。我有兩個(gè)收發(fā)器 MCP2551。如果需要,我也可以粘貼代碼。
    發(fā)表于 02-06 07:07

    STM32開(kāi)發(fā)筆記56: STM32F407VGT6的解釋

    STM32開(kāi)發(fā)筆記56: STM32F407VGT6的解釋
    發(fā)表于 12-02 16:51 ?49次下載
    <b class='flag-5'>STM32</b>開(kāi)發(fā)筆記56: <b class='flag-5'>STM32F407VGT6</b>的解釋

    STM32F407VGT6的完美國(guó)產(chǎn)替代——中科芯CKS32F407VGT6智能電力網(wǎng)關(guān)的應(yīng)用

    風(fēng)險(xiǎn)。如今,這一局面正被打破,STM32F407VGT6的完美國(guó)產(chǎn)替代——中科芯CKS32F407VGT6智能電力網(wǎng)關(guān)的應(yīng)用,為這一領(lǐng)域帶來(lái)了新的曙光,開(kāi)啟了國(guó)產(chǎn)芯片在
    的頭像 發(fā)表于 08-25 16:16 ?563次閱讀
    <b class='flag-5'>STM32F407VGT6</b>的完美國(guó)產(chǎn)替代——中科芯CKS32<b class='flag-5'>F407VGT6</b><b class='flag-5'>在</b>智能電力網(wǎng)關(guān)的應(yīng)用