欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2823|回復: 1
收起左側

nRF24L01程序從51移植到stm32不能發送數據,總返回0x0e或0x0f

[復制鏈接]
ID:285261 發表于 2018-11-26 14:57 | 顯示全部樓層 |閱讀模式
本帖最后由 飛餌 于 2018-11-26 19:41 編輯

在51上能收能發。移植到STM32上發不出去。用模擬SPI
IO口配置:
  1. void NRF24L01_GPIO_Configuration()
  2. {
  3. GPIO_InitTypeDef GPIO_Initstructure;

  4. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOG, ENABLE);

  5. /*CE, CSN。PG8, PG6*/
  6. GPIO_Initstructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_8;
  7. GPIO_Initstructure.GPIO_Mode = GPIO_Mode_Out_PP;
  8. GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
  9. GPIO_Init(GPIOG, &GPIO_Initstructure);

  10. /*IRQ, PG7*/
  11. GPIO_Initstructure.GPIO_Pin = GPIO_Pin_7;
  12. GPIO_Initstructure.GPIO_Mode = GPIO_Mode_IPU;
  13. GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
  14. GPIO_Init(GPIOG, &GPIO_Initstructure);

  15. /*SCK, MOSI。B13, PB15*/
  16. GPIO_Initstructure.GPIO_Pin = GPIO_Pin_13 |GPIO_Pin_15;
  17. GPIO_Initstructure.GPIO_Mode = GPIO_Mode_Out_PP;
  18. GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
  19. GPIO_Init(GPIOB, &GPIO_Initstructure);

  20. /*MISO。PB14*/
  21. GPIO_Initstructure.GPIO_Pin = GPIO_Pin_14;
  22. GPIO_Initstructure.GPIO_Mode = GPIO_Mode_IPU; //MISO使用上拉輸入
  23. GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
  24. GPIO_Init(GPIOB, &GPIO_Initstructure);
  25. }
復制代碼
讀寫時序
  1. u8 SPI_RWByte(u8 dat)
  2. {
  3.         u8 i;
  4.         
  5.         SCK = 0; //時鐘先拉低
  6.         for(i=0; i<8; i++)
  7.         {
  8.                 MOSI = dat >> 7; //最高位拿出來發送
  9.                 dat = dat << 1; //下一個bit
  10.                 SCK = 1; //拉高,上升沿發送數據到從設備
  11.                
  12.                 if(MISO) dat |= 0x01; //同時接收一個bit數據,存進最低位
  13.                
  14.                 SCK = 0; //拉低,下降沿數據被讀到主機。                        
  15.         }
  16.         return dat;
  17. }
復制代碼

測試過寫地址后又讀出來,數據正確,時序應該沒問題的。但讀回來狀態總是0x0e或0x0f。試了幾次,有時候能發出去了,但是斷電后重新上電也不能發了。51寫的怎么搞都沒事


回復

使用道具 舉報

ID:155507 發表于 2019-1-6 08:53 | 顯示全部樓層
注意大小端模式之問題,STM32是小端的,89C52是大端的。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表