完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
你好;
我正在尝试使用SPI与外部闪存(M25PE80)进行通信。我正在使用STM8SPI库,但我没有成功写入/读取内存。我的疑问是关于引脚的配置。是否有任何Option Byte我必须设置为使用SPI备用功能?我是否需要使用GPIO_Init配置用于SPI(MISO,MOSI,CLK)的端口?对于片选引脚,我使用PortG0作为GPIO_MODE_OUT_PP_LOW_FAST。 这些是我用来初始化SPI的代码(来自stm8s_spi.c的功能): SPI_DeInit(); SPI_Init(SPI_FIRSTBIT_MSB,SPI_BAUDRATEPRESCALER_64,SPI_MODE_MASTER,SPI_CLOCKPOLARITY_HIGH,SPI_CLOCKPHASE_2EDGE,SPI_DATADIRECTION_2LINES_FULLDUPLEX,SPI_NSS_SOFT,0x07); SPI_Cmd(ENABLE); 问候 以上来自于谷歌翻译 以下为原文 Hello; I'm trying to communicate to an external flash memory (M25PE80) using SPI. I´m using the STM8SPI librarie but I´m not having success to write/read from memory. My doubt is about the configuration of pins. Are there any Option Byte that I must set to use the SPI alternate function? Does I need to use the GPIO_Init to configure the ports used for SPI (MISO, MOSI, CLK)? For the Chip Select pin, I´m using the PortG0 as GPIO_MODE_OUT_PP_LOW_FAST. These are the code I´m using to init the SPI (Funtions from stm8s_spi.c): SPI_DeInit(); SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_64,SPI_MODE_MASTER,SPI_CLOCKPOLARITY_HIGH, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLEX,SPI_NSS_SOFT, 0x07); SPI_Cmd(ENABLE); Regards |
|
相关推荐
3个回答
|
|
|
问题解决了!无需配置SPI引脚。 Init Function配置所有正确的参数。
以上来自于谷歌翻译 以下为原文 Problem Solved! There is no need to configure the SPI pins. The Init Function configure all the correct parameters. |
|
|
|
|
|
尚未尝试SPI,但SPI_NSS引脚不应该作为芯片选择吗? (而不是在您的示例中使用GPIOG0)
以上来自于谷歌翻译 以下为原文 Haven't tried yet SPI, but isn't the SPI_NSS pin supposed to act as a chip select? (instead of using GPIOG0 in your example) |
|
|
|
|
|
你好尼科;
是的,作为输出引脚,您可以使用GPIOE5引脚,但考虑到在SPI通信中您可以选择与您拥有的芯片选择引脚一样多的器件,您可以为此功能配置任何I / O引脚(芯片选择)。要写入外部闪存,您需要控制设置或重置此引脚的确切时刻。其他引脚实际上是备用功能引脚。您只需在寄存器上写入,ucontroller就会为您发送/接收数据。 问候。 法比奥 以上来自于谷歌翻译 以下为原文 Hello Nico; Yes, as an output pin you could use the GPIOE5 pin, but considering that in SPI communication you can select as many devices as many chip select pins you have, you could config any I/O pin for this function (chip select). For write into the external flash memory you will need to control the exactly moment to set or reset this pin. The other pins are really alternate function pins. You just write on a register and the ucontroller transmits/receive data for you. Regards. Fabio |
|
|
|
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1453 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1502 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3649 浏览 1 评论
3842 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2461 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
727浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
658浏览 5评论
710浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
940浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
745浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:29 , Processed in 0.591345 second(s), Total 46, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
381