##// END OF EJS Templates
Fixed one more spi driver bug.
jeandet -
r54:e6f450090662 dev_alexis
parent child
Show More
@@ -69,8 +69,8 int main()
69 69 res[11]='\n';
70 70 res[12]='\r';
71 71 res[13]=0;
72 //printf("read: %s",res);
73 //printf("\n");
72 printf("read: %s",res);
73 printf("\n");
74 74 for(int i=0;i<11;i++)
75 75 {
76 76 printf("res[%d] = 0x%x\n\r",i,(int)res[i]);
@@ -35,6 +35,7 typedef struct eepromN25Q128Dev
35 35 }eepromN25Q128Dev;
36 36
37 37 #define N25Q128_PAGE_SZ 256
38 #define N25Q128_CAPACITY_IN_BYTES (1024*1024*16) /*16MB*/
38 39
39 40 #define N25Q128_READID 0x9E
40 41 #define N25Q128_READ 0x03
@@ -339,9 +339,10 int spiputw(spi_t spidev,uint16_t data)
339 339 if((spidev<3)&&(spidev>=0))
340 340 {
341 341 SPI_TypeDef* _dev_ = _spi_dev_table[(int)spidev];
342 while(((_dev_->SR & (1<<1)) == 0) );
342 343 _dev_->DR = data;
343 while((_dev_->SR & (1<<7)) == (1<<7));
344 return 1;
344 while(((_dev_->SR & (1<<0)) == 0) );
345 return _dev_->DR;
345 346 }
346 347 return -1;
347 348 }
@@ -350,9 +351,9 uint16_t spigetw(spi_t spidev)
350 351 if((spidev<3)&&(spidev>=0))
351 352 {
352 353 SPI_TypeDef* _dev_ = _spi_dev_table[(int)spidev];
353 while((_dev_->SR & (1<<7)) == (1<<7));
354 while(((_dev_->SR & (1<<1)) == 0) );
354 355 _dev_->DR = 0xFFFF;
355 while(((_dev_->SR & (1<<0)) == 0) || (_dev_->SR & (1<<7)) == (1<<7));
356 while(((_dev_->SR & (1<<0)) == 0) );
356 357 return _dev_->DR;
357 358 }
358 359 return -1;
General Comments 0
You need to be logged in to leave comments. Login now