色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    565

    瀏覽量

    100699
  • UART接口
    +關注

    關注

    0

    文章

    124

    瀏覽量

    15316
  • 串口中斷
    +關注

    關注

    0

    文章

    67

    瀏覽量

    13941
  • RT-Thread
    +關注

    關注

    31

    文章

    1296

    瀏覽量

    40245
  • STM32F407VGT6
    +關注

    關注

    0

    文章

    3

    瀏覽量

    4210
收藏 人收藏

    評論

    相關推薦

    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>的解釋
    主站蜘蛛池模板: 奇米色偷偷| 午夜国产精品视频| 久久精品国产清白在天天线| 漂亮的保姆3集电影免费观看中文| 樱花动漫成人隐藏入口| 解开美女胸衣2破解版| 亚洲日韩欧美国产专区| 好紧好湿太硬了我太爽了文字| 色婷婷AV99XX| 国产成a人片在线观看视频99| 色精品极品国产在线视频| 国产成人精品视频频| 我与旗袍老师疯狂床震| 波多野结衣二区| 任你懆视频 这里只有精品| 中文字幕亚洲无线码高清不卡| 青青精品视频国产| 久久国产影院| 国产福利一区二区精品| 97精品国产亚洲AV高清| 伊人大香线蕉精品在线播放| 午夜日韩久久影院| 青柠在线观看视频在线高清| 欧美激情一区二区三区视频| 国产av久久免费观看| 最新国自产拍天天更新| 亚洲性爱城| 久久午夜夜伦鲁鲁片无码免费| 91麻豆精品| 色翁荡息又大又硬又粗又爽电影| 国产精品婷婷五月久久久久| 三色午夜秀| 国产在线精品亚洲第1页| 一二三四免费中文在线1| 久久免费观看视频| 99香蕉视频| 欧美性受xxxx狂喷水| 国产传媒精品1区2区3区| 亚洲久热无码中文字幕| 久久免费精品一区二区| www.97干|