使用RT-Thread Studio 建立 L476 Nucleo 项目工程并完成相关功能

使用RT-Thread Studio 建立 L476 Nucleo 项目工程并完成相关功能

1. 新建RTT工程

在这里插入图片描述

2. 添加cube对应的驱动

在这里插入图片描述

Nucleo 板上 X2 低速时钟有 X3调整时钟无
在这里插入图片描述

UART2串口配置 PA2 PA3
在这里插入图片描述

用户按键 PC13 输入
LD2-D13-PA5 输出 与SPI1 的CLK重复
在这里插入图片描述

这些灯不用管
红绿双色CMS 发光二极管 接STLINK PA9
高电平 红色,低电平 绿色
修改时钟配置
在这里插入图片描述

最后 generate code 记得要选择MDK工程不是EWB工程
在这里插入图片描述

nucleo板上的调试串口是:
UART-TX D1_USART_TX PA2
UART-RX D0_USART_RX PA3

3.硬件连接LCD

在这里插入图片描述

连接LCD屏模块:

在这里插入图片描述

LCD-SCL D13_SCL PA5 与Nucleo板上的 LD2重复 不影响使用
LCD-MOSI D11_MOSI PA7
LCD-RES A2_RES PA4
LCD-DC D12_DC PA6
BLK 可悬空 CS 接地

制作扣板
在这里插入图片描述

LED1 D9_PWM5 PC7
LED2 D6_PWM2 PB10
LED3 A0_PWM3 PA0
LED4 A1_PWM4 PA1

KEY1 A4_KEY1 PC1
KEY2 A5_KEY2 PC0
KEY3 D3_KEY3 PB3
KEY4 D5_KEY4 PB4

4. 编写程序 初始化LCD

添加 dev_lcd_font.h 、dev_lcd.c 、dev_lcd.h 三个文件。这三个文件与小熊派板和潘多拉板 上的LCD驱动相同,直接添加即可。
小熊派资料获取
潘多拉开发板资料

移植的时候要注意修改以下内容:
这里将 BLK 挂接到 C7 , CS 挂接到B10,使用 SPI1 单主模式:

#define LCD_PWR_PIN           GET_PIN(C, 7)
#define LCD_DC_PIN            GET_PIN(A, 6)
#define LCD_RES_PIN           GET_PIN(A, 4)
...
static int rt_hw_lcd_init(void)
{
    rt_hw_spi_device_attach("spi1", "lcd", GPIOB, GPIO_PIN_10);
    ...
}

最终初始化结束后,在lcd上显示智慧农业的初始化图片:
在这里插入图片描述

5. F401 连接RW007 进行网络连接

F401调试成功:
建立新工程后,添加软件包:RW007 1.1.1
D11 MOSI PA7
D12 MISO PA6
D13 SCL PA5

nRST D8 PA9
INT/BUSY D9 PC7
nCS D10 PB6

在这里插入图片描述

配置软件包
rtconfig.h中的定义 ,注意选择 1.1.1版本

#define PKG_USING_RW007
#define PKG_USING_RW007_V111
#define RW007_USING_STM32_DRIVERS
#define RW007_SPI_MAX_HZ 30000000
#define RW007_SPI_BUS_NAME "spi1"
#define RW007_CS_PIN 22
#define RW007_BOOT0_PIN 5
#define RW007_BOOT1_PIN 22
#define RW007_INT_BUSY_PIN 39
#define RW007_RST_PIN 9

在这里插入图片描述

配置组件
在这里插入图片描述

配置完成后,运行程序
输入wifi scan进行周边wifi扫描,
输入wifi join ** **** 进行连接指定wifi
在这里插入图片描述

L476连接RW007 不成功

5.RT-Thread Studio 加快编译速度

RT-Thread Studio添加或者修改组件功能以后需要重新编译整个工程。默认配置的编译选项动不动就需要编译好几分钟时间,不方便调试工程,可以通过以下配置来加快工程编译速度。s

RT-Thread Studio 可以方便的配置文件是否参与构建与编译。
配置方法如下:首先打开【导航器】视图,【项目资源管理器】视图下,不参与构建的文件,不显示了!!恢复时,需要到【导航器】视图处理。建议【项目资源管理器】视图,可以实现【导航器】视图的显示效果:文件还在,只是表示不参与编译。

首先打开构建配置
然后点击C/C++ 构建,选择Behavior,将Use parallel jobs 修改为8或者16、32,

注意需要根据用户的电脑内存配置来设置,默认设置为4,改成8或者16以后理论编译速度会更快,但是不敢保证是否会出现其他问题。

6.RT-Thread 中的 GPIO 编号规则

STM32F系统MCU 使用GPIO 编号是 A0~A15 、B0~B15 … 等等。在RTT中对GPIO的操作是用编号

  • 方案一:可以从文件 dvr_gpio.c 中查询:
    在这里插入图片描述

  • 方案二:基于函数转换

#define KEY1           GET_PIN(C, 1)
#define LED1           GET_PIN(C, 7) 

rt_pin_mode(LED1, PIN_MODE_OUTPUT);
rt_pin_mode(KEY1 , PIN_MODE_INPUT);//输入模式

rt_pin_write(LED1, PIN_LOW);
rt_pin_read(KEY1);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南工孙冬梅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值