久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
nrf905 stm32自帶spi接口控制 驅動程序下載
[打印本頁]
作者:
劉長江
時間:
2017-3-23 15:26
標題:
nrf905 stm32自帶spi接口控制 驅動程序下載
nrf905的stm32驅動程序,stm32單片機自帶的spi接口控制的
0.png
(47.85 KB, 下載次數: 89)
下載附件
2017-3-23 19:42 上傳
完整源碼下載:
32自帶spi接口控制.zip
(9.02 MB, 下載次數: 45)
2017-3-23 15:26 上傳
點擊文件名下載附件
stm32的nrf905驅動程序
下載積分: 黑幣 -5
發送程序部分預覽:
#include "NRF905.h"
#include "bsp_SPI_nrf.h"
#include "stm32f10x_spi.h"
void nrf_GPIO_Config(void)
{
//定義一個GPIO InitTypeDef類型的結構體
GPIO_InitTypeDef GPIO_InitStructure;
//開啟GPIOB的外設時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
//---------------nrf905 IO output-------------------------
//選擇要控制GPIO的引腳
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_10; //en,pwr,ce,led
//設置引腳為通用推挽輸出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
//設置引腳速率為50MHz
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//調用庫函數,初始化GPIOB9
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_10);
//---------------nrf905 IO input-------------------------
//選擇要控制GPIO的引腳
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_7; //am, dr ,cd
//設置引腳為上拉輸入
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOB,&GPIO_InitStructure);
}
//****nrf905???????********//
u8 code_config[10]=
{ 0x4c, //????430mhz
0x0c, //????10db,?????,???????
0x44, //???????4??
0x01, 0x01,//???????????1??
0xb2, 0xb2, 0xb2,0xb2,//接收地址
0x58 //?????,16m??,crc??,8?crc??
};
void delay_xms(u16 xms) //??xms??
{
u16 i=0;
while(xms--)
{
i=12000;
while(i--);
}
}
u8 SPI_NRF_RW(u8 dat)
{
/* 當 SPI發送緩沖器非空時等待 */
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET);
/* 通過 SPI2發送一字節數據 */
SPI_I2S_SendData(SPI2, dat);
/* 當SPI接收緩沖器為空時等待 */
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);
/* Return the byte read from the SPI bus */
return SPI_I2S_ReceiveData(SPI2);
}
void init_nrf905(void)
{ u8 i;
nrf_GPIO_Config();
ce(0);
en(0);
delay_xms(2);
csn(0);//delay_xms(1);
SPI_NRF_RW(WC);
for (i=0;i<10;i++)
{ SPI_NRF_RW(code_config[i]);
}
csn(1);
}
u8 read_nrf905(void)
{ u8 pp;
ce(0);
en(0);
delay_xms(1); //nRF905?????,??????,???????
csn(0);
SPI_NRF_RW(RRP); //發送讀取指令
pp=SPI_NRF_RW(0x00);
csn(1);
en(0); //en??? ,dr??
ce(1); //重新進入接收模式
delay_xms(1); //nRF905?????,??????,???????
return pp;
}
void send(u8 byte,u16 adre)
{ ce(0);
en(0);
led(1);
delay_xms(1);
//----------寫地址
csn(0);//delay_xms(1);
SPI_NRF_RW(WTA);
SPI_NRF_RW(adre);
SPI_NRF_RW(adre);
SPI_NRF_RW(adre);
SPI_NRF_RW(adre);
// csn(1);
////---------寫數據
//csn(0);
SPI_NRF_RW(WTP);
SPI_NRF_RW(byte);
csn(1);
//---------發送
ce(1);
en(1); //
while(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)); //dr
// delay_xms(10); //
ce(0);
en(0); //
delay_xms(1);
csn(0);
SPI_NRF_RW(WTP); //
SPI_NRF_RW(0xaa); //
csn(1);
en(0); //
ce(1); //進入接收模式
delay_xms(1); //
// led(0); //
}
void IntoReceive_Sate(void)
{
en(0); //
ce(1); //進入接收模式
delay_xms(1); //
led(0);
}
int receive_scan(void)
{
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)==1)
{
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==1)
{
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8)==1)
{
return 1;
}
else
return 0;
}
else
return 0;
}
else
return 0;
}
//進入調試模式 觀察讀出的值pp是否等于寫入的配置數據
void test(void)
{
u16 pp,i,a;
ce(0);
en(0);
delay_xms(1); //nRF905?????,??????,???????
csn(0);
SPI_NRF_RW(RTA);
pp=SPI_NRF_RW(0x00);
a=pp;
csn(1);
csn(0);
SPI_NRF_RW(RTP);
i=SPI_NRF_RW(0xa1);
a=i;
csn(1);
}
/*********************************************END OF FILE**********************/
復制代碼
作者:
tyler880
時間:
2020-4-11 10:47
沒調試成功你也放出來???
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精品人伦一区二区三区蜜桃网站
|
日本人和亚洲人zjzjhd
|
日本黄色一级片视频
|
亚洲免费视频一区
|
在线视频91
|
国产成人免费
|
玖玖视频免费
|
一区二区在线看
|
欧美日韩综合
|
日韩在线一区二区
|
亚洲欧美综合
|
伊人狠狠
|
国产精品视频一二三区
|
欧美不卡视频一区发布
|
精品久久精品
|
成人在线视频免费观看
|
一级h片
|
国产一级在线观看
|
毛片高清
|
精品在线播放
|
欧美精品一区二区三区蜜桃视频
|
久久久久精
|
日韩一区二区三区精品
|
99久久久无码国产精品
|
久久久精品影院
|
欧美亚洲国产精品
|
欧美久久一区二区三区
|
久久综合伊人
|
午夜男人天堂
|
一区二区三区四区不卡视频
|
www.日韩免费
|
在线观看日本网站
|
伊人伊人伊人
|
中文字幕第十一页
|
国产精品永久免费观看
|
久久免费福利
|
欧美一级免费片
|
日韩一区二区av
|
久久国产一区二区三区
|
久久精品日
|
欧美成人手机在线
|