OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7397|回复: 7

stm32f207+enc28j60 但是 enc28j60一直初始化失败 spi收不到数据

[复制链接]

15

主题

46

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-5-10
在线时间
2 小时
发表于 2014-5-25 14:01:03 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]void ENC28J60_Reset(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB ,ENABLE); GPIO_PinAFConfig(GPIOB, GPIO_PinSource12 , GPIO_AF_SPI1);// NSS GPIO_PinAFConfig(GPIOB, GPIO_PinSource13 , GPIO_AF_SPI1);//SCK GPIO_PinAFConfig(GPIOB, GPIO_PinSource14 , GPIO_AF_SPI1);//MI GPIO_PinAFConfig(GPIOB, GPIO_PinSource15 , GPIO_AF_SPI1);//MO GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIOB->ODR|=0XFFFFE000; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIOB->ODR|=0XFFFF1000; //PA4 ?????? PB12 //????PA12?????? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIOB->ODR|=1<<11; //PA12 ?????? PB11 SPI1_Init(); //??????SPI1 //????ENC28J60??????(SCK????????????)????SPI???è?? SPI2->CR1&=~(1<<6); //SPI?è±??§?? SPI2->CR1&=~(1<<1); //??????????SCK??0 CPOL=0 SPI2->CR1&=~(1<<0); //???????ù????1???±??±???????,CPHA=0 SPI2->CR1|=1<<6; //SPI?è±????? // SPI1_SetSpeed(SPI_SPEED_16);//SPI1 SCK??????72M/16=4.5Mhz GPIO_ResetBits(GPIOB , GPIO_Pin_11); //????ENC28J60 delay_ms(10); GPIO_SetBits(GPIOB, GPIO_Pin_11); //?????á?? delay_ms(10); }[/mw_shl_code]
[mw_shl_code=c,true]oid SPI1_Init(void) { SPI_InitTypeDef SPI_InitStruct; RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2 ,ENABLE); SPI_InitStruct.SPI_Direction= SPI_Direction_2Lines_FullDuplex;;//?????¤???? SPI_InitStruct.SPI_DataSize = SPI_DataSize_8b; //8bit???????? SPI_InitStruct.SPI_Mode = SPI_Mode_Master;//SPI?÷?ú SPI_InitStruct.SPI_CPOL = SPI_CPOL_High ; //??????????SCK??1 CPOL=1 SPI_InitStruct.SPI_CPHA = SPI_CPHA_2Edge; //???????ù?????????±??±???????,CPHA=1 SPI_InitStruct.SPI_NSS = SPI_NSS_Soft ;//?í??nss???í SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;//Fsck=Fpclk2/16 SPI_InitStruct.SPI_CRCPolynomial = 7; SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB; //MSBfirst SPI_Init(SPI2, &SPI_InitStruct); //SPI?è±????? SPI_Cmd(SPI2, ENABLE); SPI1_ReadWriteByte(0xff);//???????? } [/mw_shl_code]


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

46

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-5-10
在线时间
2 小时
 楼主| 发表于 2014-5-25 14:03:26 | 显示全部楼层
D0到D4是  rst mi mo clk nss
片选信号好奇怪- -  复位管脚单步调试 万用表测的到电平变化
接收缓存区一直为空 收不到东西。。。。。 求破?估计是什么问题?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-26 00:57:09 | 显示全部楼层
貌似你的片选信号一直是高电平啊。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

15

主题

46

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-5-10
在线时间
2 小时
 楼主| 发表于 2014-5-26 08:27:59 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
但是我单步调试的时候,确实高是三点几伏,低是0,难道拉不下去?我要接下拉电阻? 不过我不是复用了spi,给管脚选上下拉是不是没用?  逻辑分析仪死活抓不到,复位信号也一直看不到,从哪里检查?
回复

使用道具 举报

15

主题

46

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-5-10
在线时间
2 小时
 楼主| 发表于 2014-5-26 09:32:14 | 显示全部楼层
[mw_shl_code=c,true]u8 ENC28J60_Read_Op(u8 op,u8 addr) { u8 dat=0; ENC28J60_CS_L; dat=op|(addr&ADDR_MASK); SPI1_ReadWriteByte(dat); dat=SPI1_ReadWriteByte(0xFF); //??????????MAC/MII?????÷,?ò???????????????????????·??,?????á29?? if(addr&0x80)dat=SPI1_ReadWriteByte(0xFF); ENC28J60_CS_H; return dat; }[/mw_shl_code]
片选应该就只有几十微秒
回复

使用道具 举报

15

主题

46

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-5-10
在线时间
2 小时
 楼主| 发表于 2014-5-26 09:33:00 | 显示全部楼层
回复【2楼】霉是全方面的:
---------------------------------
回复【3楼】正点原子:
---------------------------------
片选应该就只有几十微妙- -就像我4楼贴的代码
回复

使用道具 举报

15

主题

46

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2014-5-10
在线时间
2 小时
 楼主| 发表于 2014-5-26 12:11:00 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
片选信号正常了,用逻辑分析仪,都能看到数据了- -但是rxne一直为0.。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-26 23:53:10 | 显示全部楼层
回复【7楼】霉是全方面的:
---------------------------------
不知道你的什么情况了。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-7 17:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表