Browse Source

[bsp][stm32]fix stm32u5 gpio interrupt error

Rbb666 2 years ago
parent
commit
b8796f55a5

+ 1 - 1
bsp/stm32/libraries/HAL_Drivers/drv_gpio.c

@@ -517,7 +517,7 @@ rt_inline void pin_irq_hdr(int irqno)
     }
 }
 
-#if defined(SOC_SERIES_STM32G0) || defined(SOC_SERIES_STM32MP1)
+#if defined(SOC_SERIES_STM32G0) || defined(SOC_SERIES_STM32MP1) || defined(SOC_SERIES_STM32U5)
 void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin)
 {
     pin_irq_hdr(bit2bitno(GPIO_Pin));

+ 4 - 37
bsp/stm32/stm32u575-st-nucleo/README_zh.md

@@ -105,12 +105,6 @@ msh >
   PA10     ------> USART1_RX
   ```
 
-## 联系人信息
-
-维护人:
-
--  [liukang](https://github.com/liukangcc)
-
 # 第二部分:NUCLEO-U575ZI-Q 上手指南
 
 NUCLEO-U575ZI-Q 上手指南是通过使用 SPI1 驱动 RW007 模块实例进行介绍,实现 NUCLEO-U575ZI-Q 入门
@@ -133,7 +127,7 @@ RT-Thread 包含了 RW007 的软件包,用户无需自己编写驱动程序,
 ![](figures/board1.png)  
 
 根据下面原理图可查找各 IO 接口与功能之间的对应关系表如下:  
- 
+
 ![](figures/Schematic_diagram.png)    
 
 	|STM32引脚名 | 封装管脚序号  |Arduino接口序号|	功能       |   
@@ -152,7 +146,7 @@ GitHub链接:[https://github.com/RT-Thread/rt-thread](https://github.com/RT-Th
 ### 2.通过 CubeMX 配置 SPI 初始化程序
 一般 STM32 系列的引脚分配可以通过对应 BSP 中board\CubeMX_Config目录下的CubeMX_Config.ioc打开 CubeMX 工程,进行配置 SPI1,并生成代码,保存退出即可 。  
 ![](figures/CubeMX.png)  
- 
+
 ### 3.通过menuconfig配置 RW007 软件包
 进入 rt-thread\bsp\stm32\stm32u575-st-nucleo 文件夹,右键打开 ENV 窗口(前提是已在 Windows 下搭好 ENV 环境),输入 menuconfig 进行系统配置:  
 
@@ -195,36 +189,10 @@ RW007 软件包 Github 仓库链接:[RT-Thread-packages/rw007: RW007 (SPI Wi-F
 紧接着按下 Enter 键进一步设置软件包参数,完成 SPI 总线和 IO 的配置,更改总线设备名称 RW007 BUS NAME 为 spi1,然后配置 SPI 控制 IO,各管脚号依次按下图序号填入:   
 ![](figures/menuconfig6.png)  
 
-#### 3.3开启 WiFi 框架  
-RW007 驱动使用了 WLAN 相关的接口,按以下选项路径打开 WiFi 框架:`RT-Thread Components  --->`、`Device Drivers  --->`、`Using WiFi  --->`,勾选 `Using Wi-Fi framework`:
-![](figures/menuconfig7.png)
-
 #### 3.4保存 Menuconfig 配置
 完成了上面的 3 步,bsp 配置算大功告成了,但最最重要的一步不能漏,保存 Menuconfig 配置:直接一路狂按 Esc 键退出,在保存提示窗口中选择 Yes 确认即可。
 
-### 4.修改部分工程代码
-打开工程,将 `rw007_stm32_port.c` 文件中 `wifi_spi_device_init(void)` 函数内容替换成下面的代码:
-
-	int wifi_spi_device_init(void)
-	{
-	    char sn_version[32];
-	
-	    rw007_gpio_init();
-	    rt_hw_spi_device_attach(RW007_SPI_BUS_NAME, "wspi", RW007_CS_PIN);
-	    rt_hw_wifi_init("wspi");
-	
-	    rt_wlan_set_mode(RT_WLAN_DEVICE_STA_NAME, RT_WLAN_STATION);
-	    rt_wlan_set_mode(RT_WLAN_DEVICE_AP_NAME, RT_WLAN_AP);
-	
-	    rw007_sn_get(sn_version);
-	    rt_kprintf("\nrw007  sn: [%s]\n", sn_version);
-	    rw007_version_get(sn_version);
-	    rt_kprintf("rw007 ver: [%s]\n\n", sn_version);
-	
-	    return 0;
-	}
-
-### 5.编译、下载工程
+### 4.编译、下载工程
 
 使用工具栏的 Build 按钮编译工程,出现 0 Error(s) 表示编译成功,将开发板连接电脑,再点击 Download 按钮下载固件到开发板
 
@@ -250,7 +218,6 @@ wifi联网测试
 ## 注意事项:  
 1. MDK版本最好使用比较新的版本的,本次实验是在MDK5.36版本下进行的。
 2. RW007软件包请选用最新版本的,否则会出现版本不兼容的问题,导致工程报错。若未选择最新版本的RW007软件包,就把下面链接里面的RW007软件包下载,替换掉`bsp\stm32\stm32u575-st-nucleo\packages\rw007-xxx`里面的文件即可!(但上述修改部分工程代码这一步也是要做的,如果工程`rw007_stm32_port.c`文件中`wifi_spi_device_init(void)`函数内容与所给内容相同可忽略!)   
-RW007 软件包 Github 仓库链接:[RT-Thread-packages/rw007: RW007 (SPI Wi-Fi module) driver for RT-Thread](https://github.com/RT-Thread-packages/rw007) 
-3. 目前,在本实验测试中发现RW007会出现超时现象,还未找到合适的解决方案,但并不影响RW007模块的正常使用。 
+    RW007 软件包 Github 仓库链接:[RT-Thread-packages/rw007: RW007 (SPI Wi-Fi module) driver for RT-Thread](https://github.com/RT-Thread-packages/rw007) 
 
 

+ 1 - 1
bsp/stm32/stm32u575-st-nucleo/applications/main.c

@@ -13,7 +13,7 @@
 #include <board.h>
 
 /* defined the LED0 pin: PC7 */
-#define LED0_PIN    GET_PIN(G, 2)
+#define LED0_PIN    GET_PIN(B, 7)
 
 int main(void)
 {

+ 0 - 1
bsp/stm32/stm32u575-st-nucleo/board/Kconfig

@@ -171,7 +171,6 @@ menu "On-chip Peripheral Drivers"
             config BSP_SPI1_RX_USING_DMA
                 bool "Enable SPI1 RX DMA"
                 depends on BSP_USING_SPI1
-                select BSP_SPI1_TX_USING_DMA
                 default n
         endif
 

BIN
bsp/stm32/stm32u575-st-nucleo/figures/menuconfig6.png


BIN
bsp/stm32/stm32u575-st-nucleo/figures/result1.png


BIN
bsp/stm32/stm32u575-st-nucleo/figures/result2.png