新手入门
- 积分
- 27
- 金钱
- 27
- 注册时间
- 2014-1-6
- 在线时间
- 0 小时
|
5金钱
用的是icore2,自带138扩展片选信号,cs1外接原子哥的液晶屏,cs0用于与fpga通信,但是在fsmc初始化的时候发现如果我先初始化BCR2和BTR2这两个寄存器,BCR1也会发生改变
[mw_shl_code=c,true] FSMC_Bank1->BTCR[2]=0X00000000;
FSMC_Bank1->BTCR[3]=0X00000000;
FSMC_Bank1E->BWTR[2]=0X00000000;
FSMC_Bank1->BTCR[2]|=1<<12; //??????
FSMC_Bank1->BTCR[2]|=1<<14; //?????±?ò
FSMC_Bank1->BTCR[2]|=1<<4; //16bit
//??×÷BTR?????÷
//???±?ò?????????÷
FSMC_Bank1->BTCR[3]|=0<<28;
FSMC_Bank1->BTCR[3]|=1<<0; //???·?¨???±??
FSMC_Bank1->BTCR[3]|=0XF<<8; //????±????±??
//???±?ò?????????÷
FSMC_Bank1E->BWTR[2]|=0<<28; //????
FSMC_Bank1E->BWTR[2]|=0<<0; //???·?¨???±??
FSMC_Bank1E->BWTR[2]|=3<<8; //????±????±??
//????BANK1,0???ò
FSMC_Bank1->BTCR[2]|=1<<0;
[/mw_shl_code]
只初始化了BCE2和BTR2,按理说BCR1应该是0x000030D2,但是他被使能了,而且导致了我CS1上也没有信号了,只有加了BCR1和BTR1的初始化才可以用,纠结了好久还没找到原因,希望原子哥指点迷津,还有一个就是我看原子哥在读外部SRAM的例程中,初始化fsmc之前都需要开启相应引脚的复用功能,但是在lcd和sram中都开启了,也就是初始化了两次,删掉后面的会有什么影响吗?
|
|