在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在STM32F407VGT6上使用serialX的步驟

冬至子 ? 來源:阿富汗老嬴政 ? 作者:阿富汗老嬴政 ? 2023-08-24 17:49 ? 次閱讀

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

新建RTthread STM32F407VGT6項目。打開CUBEMAX配置調試口,外部時鐘,串口1(控制臺),串口3,串口開啟中斷,生成代碼。
刪除掉原來的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頁面可以配置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.打開uart_config.h文件,找到#define UART1_CONFIG部分刪除掉結構體中.tx_pin_name和 .rx_pin_name成員。而且后續使用哪個串口就必須修改相對應的結構體宏定義。

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

#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.使用下載來的文件替換掉rtdef.h文件,并且將新的文件中rt_mutex結構體定義中的value成員的注釋關掉

10.打開components.c文件,修改rit_end函數
這里必須修改,否則控制臺shell線程不會自啟動

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

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

board.h中添加

#define BSP_USING_UART1
#define BSP_USING_UART3
main函數中打開串口

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dma
    dma
    +關注

    關注

    3

    文章

    561

    瀏覽量

    100587
  • UART接口
    +關注

    關注

    0

    文章

    124

    瀏覽量

    15294
  • 串口中斷
    +關注

    關注

    0

    文章

    64

    瀏覽量

    13898
  • RT-Thread
    +關注

    關注

    31

    文章

    1289

    瀏覽量

    40135
  • STM32F407VGT6
    +關注

    關注

    0

    文章

    3

    瀏覽量

    4201
收藏 人收藏

    評論

    相關推薦

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

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

    程序下載到STM32F407VGT6不能運行的原因?

    程序STM32F407ZE可行,下載到STM32F407VGT6不能運行 有沒有懂的,求指教
    發表于 05-31 06:22

    STM32單片機開發板 STM32F407VGT6核心板 100腳帶以太網核心板

    STM32F407VGT6核心板,,帶以太網功能, I/O全引出100mil以太網PHY:DP83848漢仁RJ45:HR911105A均送調通的ST LWIP范例。Description
    發表于 09-14 10:43

    STM32F407VGT6核心板 STM32F4單片機開發板 提供圖紙及例程

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

    請問STM32F407VGT6的keil也配置過了,編譯也沒錯,燈不亮的原因是什么?

    本帖最后由 一只耳朵怪 于 2018-6-11 11:54 編輯 為什么下載到板子里沒問題,但是就是燈不亮,而且說是not in debug mode,我的板子芯片是STM32F407VGT6,keil也配置過了,編譯也沒錯,求大神幫幫我
    發表于 06-11 09:10

    STM32F407VGT6的485通信程序

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

    STM32F407VGT6用ISP和IAP方式都下載不進去

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

    W5500STM32F407VGT6如何移植(成功)

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

    STM32F407VGT6型號的具體解釋

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

    關于STM32F407VGT6型號的具體解釋

    STM32F407VGT6單片機有哪些基本參數?STM32F407VGT6單片機有哪些特性?
    發表于 10-20 06:20

    如何使用STM32F407VGT66路PWM輸出通道來控制6個舵機的運動?

    如何使用STM32F407VGT66路PWM輸出通道來控制6個舵機的運動?
    發表于 10-25 07:37

    新建一個基于STM32F407VGT6的RT-Thread項目編譯出錯如何解決

    照著B站官方視頻,新建了一個基于芯片STM32F407VGT6的RT-Thread項目,但是編譯之后出現五個錯誤。不知道咋解決。
    發表于 10-18 10:02

    淺析STM32F407VGT6項目使用serialX的流程

    RT-Thread Studio版本: 2.2.5,RT-Thread v4.1.0 ,新建RTthread STM32F407VGT6項目。打開CUBEMAX配置調試口,外部時鐘,串口1(控制臺
    發表于 11-30 11:03

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

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

    STM32開發筆記56: STM32F407VGT6的解釋

    STM32開發筆記56: STM32F407VGT6的解釋
    發表于 12-02 16:51 ?48次下載
    <b class='flag-5'>STM32</b>開發筆記56: <b class='flag-5'>STM32F407VGT6</b>的解釋
    主站蜘蛛池模板: 乱轮黄色小说| 色多多在线观看高清免费| 日韩黄色成人| 97人人做人人爱| 22222se男人的天堂| 亚洲国产成人久久三区| 久久国产伦三级理电影| 看片久久| 一级特黄aa大片一又好看| 狠狠要| 激情综合在线| 夜夜春色| 成人国产在线24小时播放视频| free chinese 国产精品| 午夜黄色福利视频| www.xxx日本人| 在线视频一二三区| 人与性www| 日本加勒比高清一本大道| 二区视频在线| 国内一级毛片| 在线观看黄色网| 色老成人精品视频在线观看| 亚洲国产精| 精品女同同性视频很黄很色| 精品综合久久88色鬼首页| 操她射她| 色综合天天综合网国产成人| 午夜视频福利在线观看| 久久国产免费观看精品1| 韩国三级无遮挡床戏视频| 91在线网| 七月色婷婷| 久久精品系列| 天天碰免费视频| 天天干天天操天天操| 月夜免费观看完整视频| wwwxx在线观看| 视频一二三区| 国产女人在线视频| 一区二区三区高清不卡|