Commit 8a47b987 authored by 李俭双's avatar 李俭双

🐞 fix:更改BU98寄存器配置方式

parent 2d196c43
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#define BU98R10_CHIP1_CSB RTE_GPIO_PORT07_PIN01 #define BU98R10_CHIP1_CSB RTE_GPIO_PORT07_PIN01
#define BU98R10_CHIP1_SCL RTE_GPIO_PORT07_PIN00 #define BU98R10_CHIP1_SCL RTE_GPIO_PORT07_PIN00
#define BU98R10_NOP_TIME 5U
uint8_t BU98R10_CHIP0_GET_SD_LEVEL(void); uint8_t BU98R10_CHIP0_GET_SD_LEVEL(void);
uint8_t BU98R10_CHIP0_GET_SD_LEVEL(void) uint8_t BU98R10_CHIP0_GET_SD_LEVEL(void)
{ {
...@@ -23,6 +25,59 @@ uint8_t BU98R10_CHIP1_GET_SD_LEVEL(void) ...@@ -23,6 +25,59 @@ uint8_t BU98R10_CHIP1_GET_SD_LEVEL(void)
return RTE_GPIO_Get_Level(BU98R10_CHIP1_SD); return RTE_GPIO_Get_Level(BU98R10_CHIP1_SD);
} }
void NOP_DelayTime(uint8_t timer)
{
// uint8_t i = 0;
// for(i = 0;i < timer;i++)
// {
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
__NOP();
// }
}
void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level); void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level);
void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level) void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level)
{ {
...@@ -30,15 +85,22 @@ void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level) ...@@ -30,15 +85,22 @@ void BU98R10_CHIP0_SET_SD_LEVEL(uint8_t Level)
{ {
//RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
//RTE_GPIO_Set_Level(BU98R10_CHIP0_SD, RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Set_Level(BU98R10_CHIP0_SD, RTE_GPIO_LEVEL_HIGH);
PORT->P0 |= (1<<2); //PORT->P0 |= (1<<2);
//PORT->PM0 &= ~(1<<2);
PORT->PM0 &= ~(1<<2); PORT->PM0 &= ~(1<<2);
PORT->PSET0 = (1<<2);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
else else
{ {
//RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW);
//RTE_GPIO_Set_Level(BU98R10_CHIP0_SD, RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Set_Level(BU98R10_CHIP0_SD, RTE_GPIO_LEVEL_LOW);
PORT->P0 &= ~(1<<2);//P02 // PORT->P0 &= ~(1<<2);//P02
// PORT->PM0 &= ~(1<<2);
PORT->PM0 &= ~(1<<2); PORT->PM0 &= ~(1<<2);
PORT->PCLR0 = (1<<2);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
} }
void BU98R10_CHIP1_SET_SD_LEVEL(uint8_t Level); void BU98R10_CHIP1_SET_SD_LEVEL(uint8_t Level);
...@@ -48,15 +110,21 @@ void BU98R10_CHIP1_SET_SD_LEVEL(uint8_t Level) ...@@ -48,15 +110,21 @@ void BU98R10_CHIP1_SET_SD_LEVEL(uint8_t Level)
{ {
//RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
//RTE_GPIO_Set_Level(BU98R10_CHIP1_SD, RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Set_Level(BU98R10_CHIP1_SD, RTE_GPIO_LEVEL_HIGH);
PORT->P7 |= (1<<2); // PORT->P7 |= (1<<2);
// PORT->PM7 &= ~(1<<2);
PORT->PM7 &= ~(1<<2); PORT->PM7 &= ~(1<<2);
PORT->PSET7 = (1<<2);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
else else
{ {
//RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW);
//RTE_GPIO_Set_Level(BU98R10_CHIP1_SD, RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Set_Level(BU98R10_CHIP1_SD, RTE_GPIO_LEVEL_LOW);
PORT->P7 &= ~(1<<2);//P72 // PORT->P7 &= ~(1<<2);//P72
// PORT->PM7 &= ~(1<<2);
PORT->PM7 &= ~(1<<2); PORT->PM7 &= ~(1<<2);
PORT->PCLR7 = (1<<2);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
} }
void BU98R10_CHIP0_SET_CSB_LEVEL(uint8_t Level); void BU98R10_CHIP0_SET_CSB_LEVEL(uint8_t Level);
...@@ -66,15 +134,21 @@ void BU98R10_CHIP0_SET_CSB_LEVEL(uint8_t Level) ...@@ -66,15 +134,21 @@ void BU98R10_CHIP0_SET_CSB_LEVEL(uint8_t Level)
{ {
// RTE_GPIO_Config(BU98R10_CHIP0_CSB, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH); // RTE_GPIO_Config(BU98R10_CHIP0_CSB, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
//RTE_GPIO_Set_Level(BU98R10_CHIP0_CSB, RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Set_Level(BU98R10_CHIP0_CSB, RTE_GPIO_LEVEL_HIGH);
PORT->P0 |= (1<<3); // PORT->P0 |= (1<<3);
// PORT->PM0 &= ~(1<<3);
PORT->PM0 &= ~(1<<3); PORT->PM0 &= ~(1<<3);
PORT->PSET0 = (1<<3);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
else else
{ {
// RTE_GPIO_Config(BU98R10_CHIP0_CSB, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW); // RTE_GPIO_Config(BU98R10_CHIP0_CSB, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW);
//RTE_GPIO_Set_Level(BU98R10_CHIP0_CSB, RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Set_Level(BU98R10_CHIP0_CSB, RTE_GPIO_LEVEL_LOW);
PORT->P0 &= ~(1<<3);//P03 // PORT->P0 &= ~(1<<3);//P03
// PORT->PM0 &= ~(1<<3);
PORT->PM0 &= ~(1<<3); PORT->PM0 &= ~(1<<3);
PORT->PCLR0 = (1<<3);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
} }
void BU98R10_CHIP1_SET_CSB_LEVEL(uint8_t Level); void BU98R10_CHIP1_SET_CSB_LEVEL(uint8_t Level);
...@@ -84,15 +158,21 @@ void BU98R10_CHIP1_SET_CSB_LEVEL(uint8_t Level) ...@@ -84,15 +158,21 @@ void BU98R10_CHIP1_SET_CSB_LEVEL(uint8_t Level)
{ {
// RTE_GPIO_Config(BU98R10_CHIP1_CSB, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH); // RTE_GPIO_Config(BU98R10_CHIP1_CSB, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
//RTE_GPIO_Set_Level(BU98R10_CHIP1_CSB, RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Set_Level(BU98R10_CHIP1_CSB, RTE_GPIO_LEVEL_HIGH);
PORT->P7 |= (1<<1); // PORT->P7 |= (1<<1);
// PORT->PM7 &= ~(1<<1);
PORT->PM7 &= ~(1<<1); PORT->PM7 &= ~(1<<1);
PORT->PSET7 = (1<<1);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
else else
{ {
//RTE_GPIO_Config(BU98R10_CHIP1_CSB, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Config(BU98R10_CHIP1_CSB, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW);
//RTE_GPIO_Set_Level(BU98R10_CHIP1_CSB, RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Set_Level(BU98R10_CHIP1_CSB, RTE_GPIO_LEVEL_LOW);
PORT->P7 &= ~(1<<1);//P71 // PORT->P7 &= ~(1<<1);//P71
// PORT->PM7 &= ~(1<<1);
PORT->PM7 &= ~(1<<1); PORT->PM7 &= ~(1<<1);
PORT->PCLR7 = (1<<1);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
} }
void BU98R10_CHIP0_SET_SCL_LEVEL(uint8_t Level); void BU98R10_CHIP0_SET_SCL_LEVEL(uint8_t Level);
...@@ -102,15 +182,21 @@ void BU98R10_CHIP0_SET_SCL_LEVEL(uint8_t Level) ...@@ -102,15 +182,21 @@ void BU98R10_CHIP0_SET_SCL_LEVEL(uint8_t Level)
{ {
//RTE_GPIO_Config(BU98R10_CHIP0_SCL, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Config(BU98R10_CHIP0_SCL, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
//RTE_GPIO_Set_Level(BU98R10_CHIP0_SCL, RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Set_Level(BU98R10_CHIP0_SCL, RTE_GPIO_LEVEL_HIGH);
PORT->P0 |= (1<<4); // PORT->P0 |= (1<<4);
// PORT->PM0 &= ~(1<<4);
PORT->PM0 &= ~(1<<4); PORT->PM0 &= ~(1<<4);
PORT->PSET0 = (1<<4);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
else else
{ {
//RTE_GPIO_Config(BU98R10_CHIP0_SCL, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Config(BU98R10_CHIP0_SCL, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW);
//RTE_GPIO_Set_Level(BU98R10_CHIP0_SCL, RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Set_Level(BU98R10_CHIP0_SCL, RTE_GPIO_LEVEL_LOW);
PORT->P0 &= ~(1<<4);//P04 // PORT->P0 &= ~(1<<4);//P04
// PORT->PM0 &= ~(1<<4);
PORT->PM0 &= ~(1<<4); PORT->PM0 &= ~(1<<4);
PORT->PCLR0 = (1<<4);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
} }
void BU98R10_CHIP1_SET_SCL_LEVEL(uint8_t Level); void BU98R10_CHIP1_SET_SCL_LEVEL(uint8_t Level);
...@@ -120,15 +206,21 @@ void BU98R10_CHIP1_SET_SCL_LEVEL(uint8_t Level) ...@@ -120,15 +206,21 @@ void BU98R10_CHIP1_SET_SCL_LEVEL(uint8_t Level)
{ {
//RTE_GPIO_Config(BU98R10_CHIP1_SCL, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Config(BU98R10_CHIP1_SCL, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
//RTE_GPIO_Set_Level(BU98R10_CHIP1_SCL, RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Set_Level(BU98R10_CHIP1_SCL, RTE_GPIO_LEVEL_HIGH);
PORT->P7 |= (1<<0); // PORT->P7 |= (1<<0);
// PORT->PM7 &= ~(1<<0);
PORT->PM7 &= ~(1<<0); PORT->PM7 &= ~(1<<0);
PORT->PSET7 = (1<<0);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
else else
{ {
//RTE_GPIO_Config(BU98R10_CHIP1_SCL, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Config(BU98R10_CHIP1_SCL, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW);
//RTE_GPIO_Set_Level(BU98R10_CHIP1_SCL, RTE_GPIO_LEVEL_LOW); //RTE_GPIO_Set_Level(BU98R10_CHIP1_SCL, RTE_GPIO_LEVEL_LOW);
PORT->P7 &= ~(1<<0);//P70 // PORT->P7 &= ~(1<<0);//P70
// PORT->PM7 &= ~(1<<0);
PORT->PM7 &= ~(1<<0); PORT->PM7 &= ~(1<<0);
PORT->PCLR7 = (1<<0);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
} }
void BU98R10_CHIP0_SET_SD_DIR(uint8_t Dir); void BU98R10_CHIP0_SET_SD_DIR(uint8_t Dir);
...@@ -137,14 +229,18 @@ void BU98R10_CHIP0_SET_SD_DIR(uint8_t Dir) ...@@ -137,14 +229,18 @@ void BU98R10_CHIP0_SET_SD_DIR(uint8_t Dir)
if (Dir) if (Dir)
{ {
//RTE_GPIO_Set_Level(BU98R10_CHIP0_SD, RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Set_Level(BU98R10_CHIP0_SD, RTE_GPIO_LEVEL_HIGH);
PORT->P0 |= (1<<2); // PORT->P0 |= (1<<2);
PORT->PM0 &= ~(1<<2); // PORT->PM0 &= ~(1<<2);
// RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH); // RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
PORT->PSET0 = (1<<2);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
else else
{ {
//RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_IN); //RTE_GPIO_Config(BU98R10_CHIP0_SD, RTE_GPIO_DIR_IN);
PORT->PM0 |= (1<<2); // PORT->PM0 |= (1<<2);
PORT->PCLR0 = (1<<2);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
} }
void BU98R10_CHIP1_SET_SD_DIR(uint8_t Dir); void BU98R10_CHIP1_SET_SD_DIR(uint8_t Dir);
...@@ -154,13 +250,17 @@ void BU98R10_CHIP1_SET_SD_DIR(uint8_t Dir) ...@@ -154,13 +250,17 @@ void BU98R10_CHIP1_SET_SD_DIR(uint8_t Dir)
{ {
//RTE_GPIO_Set_Level(BU98R10_CHIP1_SD, RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Set_Level(BU98R10_CHIP1_SD, RTE_GPIO_LEVEL_HIGH);
//RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH); //RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH);
PORT->P7 |= (1<<2); // PORT->P7 |= (1<<2);
PORT->PM7 &= ~(1<<2); // PORT->PM7 &= ~(1<<2);
PORT->PSET7 = (1<<2);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
else else
{ {
//RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_IN); //RTE_GPIO_Config(BU98R10_CHIP1_SD, RTE_GPIO_DIR_IN);
PORT->PM7 |= (1<<2); // PORT->PM7 |= (1<<2);
PORT->PCLR7 = (1<<2);
NOP_DelayTime(BU98R10_NOP_TIME);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment