STM8的SPI很奇怪啊

2019-07-19 21:52发布

stm8控制RFID芯片 PN512     用stm8的SPI与PN512通信  下面是读出各寄存器复位值的代码;
奇怪的是   正常打印出来的值应该是  4D 10 84 62   但是我现在打印出来的却是 80 4D 10 84 
不知道这个80是从哪里跑出来的  试过了很多次都是这样的结果。刚开始还以为是PN512坏了,
换另一个PN512  还是同样的结果   那可能就是软件里面有问题了,具体什么问题 请大家帮忙解答!!
[mw_shl_code=c,true] jc = ReadRawRC(DemodReg); //复位值4Dh UART1_SendByte(jc); jc = ReadRawRC(TxSelReg); //复位值10h UART1_SendByte(jc); jc = ReadRawRC(RxThresholdReg); //复位值84h UART1_SendByte(jc); jc = ReadRawRC(0x1c); //复位值62h UART1_SendByte(jc); void SPI_PN512(void) {     CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI,ENABLE);     SPI_DeInit();     GPIO_DeInit(GPIOA);     GPIO_DeInit(GPIOB);     GPIO_DeInit(GPIOC);               GPIO_Init(GPIOA,GPIO_PIN_3,GPIO_MODE_OUT_PP_HIGH_FAST); //NSS        GPIO_Init(GPIOD,GPIO_PIN_3,GPIO_MODE_OUT_PP_HIGH_FAST); //SCK        GPIO_Init(MF522_RST_PORT,MF522_RST,GPIO_MODE_OUT_PP_HIGH_FAST);  //RST     GPIO_Init(GPIOC,GPIO_PIN_6,GPIO_MODE_OUT_PP_HIGH_FAST);      GPIO_Init(GPIOC,GPIO_PIN_7,GPIO_MODE_IN_PU_NO_IT );       GPIO_WriteHigh(GPIOA,MF522_NSS);               SPI_Init(SPI_FIRSTBIT_MSB,SPI_BAUDRATEPRESCALER_2,SPI_MODE_MASTER,     SPI_CLOCKPOLARITY_LOW,SPI_CLOCKPHASE_1EDGE,SPI_DATADIRECTION_2LINES_FULLDUPLEX,     SPI_NSS_SOFT,0x07);     SPI_Cmd(ENABLE);       }  [/mw_shl_code] [mw_shl_code=c,true] [/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
月恨
1楼-- · 2019-07-20 00:45
 精彩回答 2  元偷偷看……
xiaoyan
2楼-- · 2019-07-20 04:04
 精彩回答 2  元偷偷看……
老虎不吃人
3楼-- · 2019-07-20 10:00
有可能是你每次发送一个字节后延时不够长
月恨
4楼-- · 2019-07-20 12:07
 精彩回答 2  元偷偷看……

一周热门 更多>