當前位置:首頁 » 幣種行情 » stm32支持eth

stm32支持eth

發布時間: 2022-09-19 06:21:47

㈠ stm32有自帶的乙太網模塊,為什麼還要用DM9051或者DM9162擴展乙太網

開發一個簡單的不難(比如只有dhcp功能)。 開發它並不需要把tcp/ip三卷都開完,一知半解就可以開始了,多參考別人的項目,並立即動手干。然後就是堅持,堅持…………再堅持。

回歸正題:DM9051是SPI介面的乙太網晶元,如果您使用STM32F103系列不帶MAC的,則建議使用此顆;如您使用的STM32F107系列,自帶乙太網MAC,外面則需要掛一個PHY晶元連接RJ45網口。

㈡ 如何使用STM32CubeMX配置ETH

具體配置過程:
1、打開STM32CubeMX,並選擇好相應的晶元。文中的晶元為STM32F207VCT6,選擇後如下圖:

2、配置RCC時鍾、ETH、PA8以及使能LWIP;
由於此處我們的開發板硬體上為RMII方式,因此選擇ETH-RMII,若有同志的開發板為MII方式,請參考MII的配置方法,此處只針對RMII;
RCC選擇外部時鍾源,另外勾選MCO1,軟體會自動將PA8配置為MCO1模式,該引腳對於RMII方式很重要,用於為PHY晶元提供50MHz時鍾。

㈢ 研究stm32區域網控制器的應用。 要求:實現聯網功能

如果你的stm32帶有乙太網ETH外設的話,可以外接一顆網卡晶元,如LAN8720,然後移植一個網路協議棧,如lwip,用網線實現聯網。也可以用4g模塊實現聯網的功能,如移遠的ec20發AT指令就可以了。

㈣ 如何使用STM32CubeMX配置ETH

有個《從零開始使用 CubeMX 創建乙太網工程》文檔,你搜索下,不難找到。

㈤ 如何使用STM32CubeMX配置ETH

具體配置過程:
1、打開STM32CubeMX,並選擇好相應的晶元。文中的晶元為STM32F207VCT6,選擇後如下圖:

2、配置RCC時鍾、ETH、PA8以及使能LWIP;
由於此處我們的開發板硬體上為RMII方式,因此選擇ETH-RMII,若有同志的開發板為MII方式,請參考MII的配置方法,此處只針對RMII;
RCC選擇外部時鍾源,另外勾選MCO1,軟體會自動將PA8配置為MCO1模式,該引腳對於RMII方式很重要,用於為PHY晶元提供50MHz時鍾;
使能LWIP;

3、時鍾樹的相關配置,必須保證MCO1輸出為50Mhz,如果這個頻率不對會導致PHY晶元無法工作;
我這里因為晶元為207VCT6,為了使MCO1輸出為50Mhz,做了PLL倍頻參數的一些調整,總體如下:(同志們配置時可根據自己的晶元靈活配置,但需保證MCO1的輸出為50Mhz)

4、ETH、LWIP、RCC相關參數設置;
至此,比較重要的都在前面了,但是還有一點仍需要注意,即PA8引腳輸出速度,幾次不成功都是因為這個引腳沒注意。

後續的參數設置可以根據同志們自己的需求分別設置,這里給出我的設置供參考;
ETH參數保持默認,但中斷勾選一下;

LWIP參數設置如下:(因為我這里是配置UDP伺服器,IP選擇靜態分配)

5、生成工程,做最後的函數修改;
給生成的工程添加UDP伺服器的初始化以及埠綁定等相關函數;
我這里直接將之前的官方常式中的UDP伺服器文件加進來,如下:

之後將.c文件添加到用戶程序,主函數添加Udp的.h頭文件;如下:(udp文件的具體內容在後面給出)

6、主函數還需要添加一下幾個函數,在這里不對函數作用及實現原理講解,僅做添加說明。

附:udp_echoserver相關文件內容(該文件為官方的示常式序,版權歸官方,此處做轉載)
udp_echoserver.c的內容如下:

/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "lwip/pbuf.h"
#include "lwip/udp.h"
#include "lwip/tcp.h"
#include <string.h>
#include <stdio.h>

/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
#define UDP_SERVER_PORT 7 /* define the UDP local connection port */
#define UDP_CLIENT_PORT 7 /* define the UDP remote connection port */

/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
void udp_echoserver_receive_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port);

/* Private functions ---------------------------------------------------------*/

/**
* @brief Initialize the server application.
* @param None
* @retval None
*/
void udp_echoserver_init(void)
{
struct udp_pcb *upcb;
err_t err;

/* Create a new UDP control block */
upcb = udp_new();

if (upcb)
{
/* Bind the upcb to the UDP_PORT port */
/* Using IP_ADDR_ANY allow the upcb to be used by any local interface */
err = udp_bind(upcb, IP_ADDR_ANY, UDP_SERVER_PORT);

if(err == ERR_OK)
{
/* Set a receive callback for the upcb */
udp_recv(upcb, udp_echoserver_receive_callback, NULL);
}
}
}

/**
* @brief This function is called when an UDP datagrm has been received on the port UDP_PORT.
* @param arg user supplied argument (udp_pcb.recv_arg)
* @param pcb the udp_pcb which received data
* @param p the packet buffer that was received
* @param addr the remote IP address from which the packet was received
* @param port the remote port from which the packet was received
* @retval None
*/
void udp_echoserver_receive_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port)
{

/* Connect to the remote client */
udp_connect(upcb, addr, UDP_CLIENT_PORT);

/* Tell the client that we have accepted it */
udp_send(upcb, p);

/* free the UDP connection, so we can accept new clients */
udp_disconnect(upcb);

/* Free the p buffer */
pbuf_free(p);

}

udp_echoserver.h的內容如下:

#ifndef __ECHO_H__
#define __ECHO_H__

void udp_echoserver_init(void);

#endif /* __MINIMAL_ECHO_H */

7、至此,所有的工作完成,編譯工程,下載至開發板。由於udp_echoserver中綁定的埠號為7,這里我們通過測試工具測試網路的功能,

㈥ stm32 #define ETH_DMAIER_TIE ((uint32_t)0x00000001) 為什麼 後面的數據要0x00000001 要加(uint32_t)

可以看一下這個uint32_t的定義到底是什麼
0x00000001這個數,別看是寫了這么多個0,但編譯程序存儲時,有可能不是按32位存放的(只是有可能),所以保險起見,將它強制數據類型轉換一下,以便程序中使用,有可能程序中在用到ETH_DMAIER_TIE強制要求數據類型必須是uint32_t的。
對於你的情況,有可能這個定義是多餘的,但有時需要將程序移植到別的位寬的晶元上運行,比如STM8上,那麼這個強制數據類型轉換就是必須的了。這么寫增強了代碼的可移植性

㈦ arm9或者stm32支持網線介面嗎

使用乙太網是需要MAC層、PHY層的支持的。

ARM9和CORTEX M3在內核中都是支持的。

具體的要看上面封裝,晶元廠家有沒有加進去,不過一般都是只加一個MAC層,而且還要看什麼型號。

比如STM32F107RB,QFP64腳的,有RMII或MII介面,晶元自帶自帶MAC層。需要外加物理層(PHY),比如DP83848,它和STM32可以通過RMII連接,網口的四條線接在PHY晶元上。

下面的原理圖,就能很好的解析其中的原理


當然,也有晶元直接集成MAC層和物理層的,很少,比如TI的TM4C129x系列,CORTEX M4內核的,不過晶元價格較高,且扇熱一般。

㈧ 如何使用STM32CubeMX配置ETH

您好,請問您是想知道如何使用STM32CubeMX配置ETH嗎?

㈨ stm32f107vc的eth的時鍾線在stm32cubemx中怎麼配置

STM32Cube 是一個全面的軟體平台,包括了ST產品的每個系列。(如,STM32CubeF4 是針對STM32F4系列).平台包括了STM32Cube 硬體抽象層和一套的中間件組件(RTOS, USB, FS, TCP/IP, Graphics, 等等).
cubeMX的主要優點:
1.直觀地進行STM32選擇2.圖形化配置3.C代碼項目產生,涵蓋STM32初始化部分。兼容IAR, KEIL和GCC編譯器4.支持Eclips。
2.到ST官網下載軟體包和cube庫,並安裝好。安裝過程比較簡單,不多贅述。
3.點擊NEW Project,新建工程,或者file-->new project也可。
4.下面是選擇器件板子,可以根據MCU進行選擇,也可以根據board型號選擇。

㈩ STM32單片機的中斷種類有哪些

各種中斷啊,可以看你使用的什麼晶元啦,
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler

DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD PendSV_Handler ; PendSV Handler

DCD SysTick_Handler ; SysTick Handler

; External Interrupts
DCD WWDG_IRQHandler ; Window WatchDog
DCD PVD_IRQHandler ; PVD through EXTI Line detection
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
DCD FLASH_IRQHandler ; FLASH
DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line0
DCD EXTI1_IRQHandler ; EXTI Line1
DCD EXTI2_IRQHandler ; EXTI Line2
DCD EXTI3_IRQHandler ; EXTI Line3
DCD EXTI4_IRQHandler ; EXTI Line4
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s
DCD CAN1_TX_IRQHandler ; CAN1 TX
DCD CAN1_RX0_IRQHandler ; CAN1 RX0
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
DCD EXTI9_5_IRQHandler ; External Line[9:5]s
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3
DCD TIM4_IRQHandler ; TIM4
DCD I2C1_EV_IRQHandler ; I2C1 Event
DCD I2C1_ER_IRQHandler ; I2C1 Error
DCD I2C2_EV_IRQHandler ; I2C2 Event
DCD I2C2_ER_IRQHandler ; I2C2 Error
DCD SPI1_IRQHandler ; SPI1
DCD SPI2_IRQHandler ; SPI2
DCD USART1_IRQHandler ; USART1
DCD USART2_IRQHandler ; USART2
DCD USART3_IRQHandler ; USART3
DCD EXTI15_10_IRQHandler ; External Line[15:10]s
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7
DCD FSMC_IRQHandler ; FSMC
DCD SDIO_IRQHandler ; SDIO
DCD TIM5_IRQHandler ; TIM5
DCD SPI3_IRQHandler ; SPI3
DCD UART4_IRQHandler ; UART4
DCD UART5_IRQHandler ; UART5
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
DCD TIM7_IRQHandler ; TIM7
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4
DCD ETH_IRQHandler ; Ethernet
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line
DCD CAN2_TX_IRQHandler ; CAN2 TX
DCD CAN2_RX0_IRQHandler ; CAN2 RX0
DCD CAN2_RX1_IRQHandler ; CAN2 RX1
DCD CAN2_SCE_IRQHandler ; CAN2 SCE
DCD OTG_FS_IRQHandler ; USB OTG FS
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5

不是所有的中斷都存在,需要看晶元的外設有哪些,M3可以支持好像是256個中斷的,上面列出的是stm32f407支持的中斷,字數太多刪減了一些。。。。。

熱點內容
trxstate 發布:2025-08-17 11:13:00 瀏覽:356
柯達比特幣采礦騙局蒸發了 發布:2025-08-17 10:54:34 瀏覽:559
區塊鏈產品原型 發布:2025-08-17 10:53:02 瀏覽:493
eth白皮書下載 發布:2025-08-17 10:53:00 瀏覽:378
昂達h81btc內存 發布:2025-08-17 10:28:51 瀏覽:86
幣圈製造恐慌 發布:2025-08-17 09:39:17 瀏覽:25
eth供應鏈 發布:2025-08-17 09:37:59 瀏覽:108
eth交易提幣 發布:2025-08-17 09:31:14 瀏覽:756
eth90穩定嗎 發布:2025-08-17 09:30:32 瀏覽:803
比特幣敲詐為什麼查不到 發布:2025-08-17 09:24:52 瀏覽:868