1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,我最近在调nrf24l01无线2.4g模块stm8s与32通信,无奈,可能还是自己太菜了,程序别说发送,一直卡在自检那里,根本检测不到24l01。模块是好的,换过几个。stm8s硬件spi,与原子哥的探索者407开发板通信,拿来主义的原则,网上找了好多都不行。只好来求助大家了。24l01的初始化几乎完全仿照原子哥的例程过程。主函数初始化如下二楼,工程如下,采用iar开发,stm8s103f3p6.或者哪位朋友有调好的硬件spi版本能够分享一下么?
stm8s_nrf24l01.rar (3.29 MB ) |
|
相关推荐
3个回答
|
|
没,帮顶
|
|
|
|
void GPIO_Configuration(void)
{ //无线模块的IO口初始化 //MISO 读取数据 浮动输入,没有外部中断 GPIO_Init(NRF24L01_CE_PORT, (GPIO_Pin_TypeDef)(NRF24L01_CE_PIN ), GPIO_MODE_OUT_PP_HIGH_FAST);//ce GPIO_Init(NRF24L01_CS_PORT, (GPIO_Pin_TypeDef)(NRF24L01_CS_PIN ), GPIO_MODE_OUT_PP_HIGH_FAST);//cs GPIO_Init(NRF24L01_SCK_PORT, NRF24L01_SCK_PIN, GPIO_MODE_OUT_PP_HIGH_FAST);//sck GPIO_Init(NRF24L01_MOSI_PORT, NRF24L01_MOSI_PIN, GPIO_MODE_OUT_PP_HIGH_FAST);//MOSI GPIO_Init(NRF24L01_MISO_PORT, NRF24L01_MISO_PIN, GPIO_MODE_OUT_PP_HIGH_FAST);//MISO GPIO_Init(NRF24L01_IRQ_PORT, (GPIO_Pin_TypeDef)(NRF24L01_IRQ_PIN ), GPIO_MODE_IN_PU_NO_IT); //IRQ } void init_io(void) { delay_ms(100); //延时 100us GPIO_WriteHigh(NRF24L01_CE_PORT, NRF24L01_CE_PIN); GPIO_WriteHigh(NRF24L01_CS_PORT, NRF24L01_CS_PIN); GPIO_WriteLow(NRF24L01_SCK_PORT, NRF24L01_SCK_PIN); } uchar TxBuf[TX_PLOAD_WIDTH]="abcds"; void main(void) { SystemClock_Init(); delay_init(16); UART_Init(115200); LED_Init(); GPIO_Configuration(); SPI_DeInit();//spi恢复默认设置 SPI_ResetCRC(); /* Initialize SPI in Slave mode */ SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_8, SPI_MODE_MASTER, SPI_CLOCKPOLARITY_HIGH, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLEX, SPI_NSS_SOFT, 0x07); /* Enable the SPI*/ SPI_Cmd(ENABLE); SPI_RW(0xff); CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); //16MHz高速内部RC振荡器(HSI) init_io(); SPI_Cmd(DISABLE); SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_8, SPI_MODE_MASTER, SPI_CLOCKPOLARITY_LOW, SPI_CLOCKPHASE_1EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLEX, SPI_NSS_SOFT, 0x07); SPI_Cmd(ENABLE); GPIO_WriteLow(GPIOD, GPIO_PIN_3);//ce=0 GPIO_WriteHigh(GPIOA, GPIO_PIN_3);//csn=1 /* 前头检测 ------------------------------------------------------*/ if(NRF24L01_Check()==0) { printf("nr设备正常nr"); } else printf("nr>>>请检查设备是否安装正确<< { if(nRF24L01_TxPacket(TxBuf)==TX_OK) { printf("n 发送成功 nr"); } else printf("nr发送失败nr"); delay_ms(500); } } |
|
|
|
楼主好,我最近也在使用stm8和***加个QQ,以后有问题跟您多多请教?1849962273,谢谢
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2568 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2361 浏览 5 评论
3208 浏览 3 评论
2836 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2787 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
663浏览 1评论
900浏览 0评论
1022浏览 0评论
666浏览 0评论
496浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 15:19 , Processed in 1.036095 second(s), Total 80, Slave 64 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号