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