这是使用限制,是针对板子的.如何处理引脚冲突.以及避免一些使用限制.首先是晶振引脚,并没影响.没外部震荡还好多东西没法干.
接着PA0是个按键,主要影响以太网的MII接口[我们一般用RMII],影响UART4的TX输出,如果串口不是特别缺乏,那不会存在问题,影响部分定时器,有其他定时器可以替代,但是,这个案件可以用于系统唤醒,SYS_WKUP,详细应该是PWR_WakeUpPinCmd命令.去掉SB20,就去掉这个按键的影响了.
PB2是普通GPIO引脚,用于Boot1,一般用不上.可以直接当GPIO用.
PD12 至 PD15 是LED指示,建议保留,并不影响功能,当然可以去掉LED灯,但是这么好看,不舍得啊.
I2S2被数字麦克风占领,但是貌似没用,而且只要有CLK,就会有杂乱输出,真是坑爹.解决办法却只有去掉芯片,对于SPI紧张的我,选择了去掉.PC3和PB10得到释放.其中一个引脚在这.
另一个引脚老远的.在这儿.
板载OTG的四个引脚.PA9 - PA12,对I2C3的SMBus模式有影响,但是其他I2C也有这个模式,何况USB是我比较喜欢的通信协议.USART1_TX是可以换到PB6的.网上很多人纠结这个问题.
而PC0,则连接STMPS2141,控制VBUS供电状态.什么是VBUS状态,因为这个口,可以是HOST,SLAVE,还有OTG呢,供电方式自然有很多种.所以,这个建议就不要去掉,去掉R46可以禁止,但是,这个芯片就会工作在常年的非使能状态.R46在RESET按钮下方.PC0也是ULPI的一个引脚,但是ULPI占引脚比较多,就这样是不够的.当然,与其错误输出连接的PD5,肯定也可以取消,这是如果过流,则触发PD5低电平输出,红灯亮.
如果要用I2C1,建议用PB6,PB9,因为这里绑定了默认的I2C,但是,与DCMI的DATA5冲突,如果要用DCMI,I2C1就只能是PB8,PB9,当然,可以用别的I2C.
SPI1默认位置都给选好了,没什么事可以不调整哈,这样,等于用了PA5 - PA7.
但是这时候记得要把PE3置高,因为这是CS引脚呢.另外速度不能太慢,不然就I2C了.另外PE0,PE1是两个中断引脚,基本上并不影响其他功能,所以,忽略就好.
剩余就是I2S3,这个功能就让他做I2S3吧,SPI有了,片选自己慢慢挑,这个就不难了.PC12,PC10,PC7,PA4不得释放,除非去掉CS43L22,但是PA4是DAC,虽然有另外一个DAC通道,但不一定够用哦,当然这些信号直接干别的都没事,只是... 耳机插孔就别玩了.不然,聋了疯了别怪人.
剩下一个PD4,并不影响所有功能,普通IO而已.
如果按照外设体验来算.以下外设完全不影响:
- CAN1
- CAN2
- CRC
- FSMC
- IWDG
- 外部低速震荡/高速震荡,时钟输出.I2S时钟输入.
- 随机数发生器
- RTC
- TIM1
- TIM2
- TIM3
- TIM6
- TIM7
- TIM9
- TIM10
- TIM11
- TIM12
- TIM13
- TIM14
- WWDG
- USB_OTG_FS
- USART3
- USART2
下列外设受到影响,但是依然可以学习测试:
- ADC1,部分通道无法使用.
- ADC2,部分通道无法使用.
- ADC3,部分通道无法使用.
- I2C1,与CS43L22复用,地址0x94无法使用.
- I2C3不能用于SMBus模式,因为其中一个引脚用于VBUS.
- SDIO与I2S3冲突,使用时,不能使用I2S3,这个曾经还想SD卡播放MP3,毁灭了.
- SPI1,与加速度计共享.
- TIM4,可以用TIM1代替.
- TIM5,可以用TIM1代替.
- TIM8,可以用TIM1代替.
以下外设受严重影响:
- DAC无法使用,OUT1通道连接I2S_WS,被CS43L22使用,把CS43L22拉至复位后,仍可以使用.OUT2连接SPI1_CLK,与LIS302DL连接,把PE3置高后,确保PA5不输出,就可以使用.
- DCMI不可以使用,如果使用,板载所有外设不能使用.
- ETH无法使用,如果使用,SPI1的MOSI被占用.除非释放SPI2,否则没有SPI可以用.
- FSMC无法使用,如果使用,最严重情况下,板载外设均不能用.
- I2C2不能用,被I2S2_CK占用.除非去掉此芯片,否则只要这里有时钟,就会出错.
- I2S2被板载麦克风占用.
- I2S3被CS43L22占用.
- SPI2,与I2S2共享,并且I2S2只要有CK,就有数据,无法使用.
- 调试仅支持SWD,当然这是推荐方法.
- UART1要不不用USB,要不不用I2C1(同时不用CS43L22).
- UART5,要不不用CS43L22的I2S3,否则不能TX.
- UART4,要不不用CS43L22的I2S3,否则不能TX.
- USB ULPI会影响板载除了I2C的所有外设.