完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 贪玩 于 2022-5-7 19:30 编辑
FAQ0092 SPI3 引脚设置方法 Answer: 需要开启对应 GPIO 时钟、开启复用时钟、将 IO 配置为复用功能、设置重映射等相应的操作。 以 AT32F403 为例,将 PA15/PB3/PB4/PB5 作为 SPI3 主机使用,需要设置如下: //开启 GPIOA、GPIOB 时钟、开启复用时钟、开启 SPI3 时钟 crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_SPI3_PERIPH_CLOCK, TRUE); //设置 PA15、PB3、PB5 为复用输出,如果 NSS 选择软件方式控制,则 PA15 设置为推挽输出 gpio_init_type gpio_initstructure; gpio_default_para_init(&gpio_initstructure); /* spi3 nss pin */ gpio_initstructure.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; gpio_initstructure.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; gpio_initstructure.gpio_mode = GPIO_MODE_MUX; gpio_initstructure.gpio_pins = GPIO_PINS_15; gpio_init(GPIOA, &gpio_initstructure); /* spi3 mosi pin */ gpio_initstructure.gpio_pins = GPIO_PINS_5; gpio_init(GPIOB, &gpio_initstructure); /* spi3 sck pin */ gpio_initstructure.gpio_pins = GPIO_PINS_3; gpio_init(GPIOB, &gpio_initstructure); //设置 PB4 为输入 /* spi3 miso pin */ gpio_initstructure.gpio_pull = GPIO_PULL_NONE; gpio_initstructure.gpio_mode = GPIO_MODE_INPUT; gpio_initstructure.gpio_pins = GPIO_PINS_4; gpio_init(GPIOB, &gpio_initstructure); //设置重映射 gpio_pin_remap_config(SWJTAG_MUX_100, TRUE); 以 AT32F403A 为例,将 PA4/PC10/ PC11/ PC12 作为 SPI3 主机使用,需要设置如下: //开启 GPIOA、GPIOC 时钟、开启复用时钟、开启 SPI3 时钟 crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_SPI3_PERIPH_CLOCK, TRUE); //设置 PA4、PC10、PC12 为复用输出,如果 NSS 选择软件方式控制,则 PA4 设置为推挽输出 gpio_init_type gpio_initstructure; gpio_default_para_init(&gpio_initstructure); /* spi3 nss pin */ gpio_initstructure.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; gpio_initstructure.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; gpio_initstructure.gpio_mode = GPIO_MODE_MUX; gpio_initstructure.gpio_pins = GPIO_PINS_4; gpio_init(GPIOA, &gpio_initstructure); /* spi3 mosi pin */ gpio_initstructure.gpio_pins = GPIO_PINS_12; gpio_init(GPIOC, &gpio_initstructure); /* spi3 sck pin */ gpio_initstructure.gpio_pins = GPIO_PINS_10; gpio_init(GPIOC, &gpio_initstructure); //设置 PC11 为输入 /* spi3 miso pin */ gpio_initstructure.gpio_pull = GPIO_PULL_NONE; gpio_initstructure.gpio_mode = GPIO_MODE_INPUT; gpio_initstructure.gpio_pins = GPIO_PINS_11; gpio_init(GPIOC, &gpio_initstructure); //设置重映射 gpio_pin_remap_config(SPI3_GMUX_0011, TRUE); 类型:MCU 应用 适用型号:AT32F403,AT32F403A,AT32F407,AT32F435,AT32F437, AT32F425 主功能:SPI3 次功能:无
|
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
727 浏览 0 评论
815 浏览 0 评论
850 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
823 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1274 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11819 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 03:36 , Processed in 0.588178 second(s), Total 63, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号