初级会员

- 积分
- 55
- 金钱
- 55
- 注册时间
- 2013-8-12
- 在线时间
- 11 小时
|

楼主 |
发表于 2023-8-29 10:42:41
|
显示全部楼层
//寄存器清零
//bank1有NE1~4,每一个有一个BCR+TCR,所以总共八个寄存器。
//这里我们使用NE1 ,也就对应BTCR[0],[1]。
FSMC_Bank1->BTCR[0]=0X00000000;
led_bit=1;
FSMC_Bank1->BTCR[1]=0X00000000;
FSMC_Bank1E->BWTR[0]=0X00000000;
//操作BCR寄存器 使用异步模式
FSMC_Bank1->BTCR[0]|=1<<12; //存储器写使能
FSMC_Bank1->BTCR[0]|=1<<14; //读写使用不同的时序
FSMC_Bank1->BTCR[0]|=1<<4; //存储器数据宽度为16bit
//操作BTR寄存器
//读时序控制寄存器
FSMC_Bank1->BTCR[1]|=0<<28; //模式A
FSMC_Bank1->BTCR[1]|=1<<0; //地址建立时间(ADDSET)为2个HCLK 1/36M=27ns(实际>200ns)
//因为液晶驱动IC的读数据的时候,速度不能太快,尤其对1289这个IC。
FSMC_Bank1->BTCR[1]|=0XF<<8; //数据保存时间为16个HCLK
//写时序控制寄存器
FSMC_Bank1E->BWTR[0]|=0<<28; //模式A
FSMC_Bank1E->BWTR[0]|=0<<0; //地址建立时间(ADDSET)为1个HCLK
//4个HCLK(HCLK=72M)因为液晶驱动IC的写信号脉宽,最少也得50ns。72M/4=24M=55ns
FSMC_Bank1E->BWTR[0]|=3<<8; //数据保存时间为4个HCLK
//使能BANK1,区域4
FSMC_Bank1->BTCR[0]|=1<<0; //使能BANK1,区域1
跑寄存器则是发现,程序死在
FSMC_Bank1->BTCR[0]=0X00000000;
led_bit=1;
FSMC_Bank1->BTCR[1]=0X00000000;
FSMC_Bank1E->BWTR[0]=0X00000000;
|
|