STM8S 硬件硬件SPI驱动驱动74HC595
一直对STM8S的硬件SPI感兴趣,但没有真正使用过,以往都是用IO口模拟,这次刚好有个板子上有两个595驱
动的8位LED数码管,就在上面试了一把,把过程记录一下。
硬件接线图:
595是数据接收器件,所以MCU只用了3条线与之相连,分别是MOSI接SER,SCK接CLK,NSS接RCK。其实这里RCK可以
用其他的IO口的。
相关的代码:
LOCAL uint8 DISP_BUF[8]={0,1,2,3,4,5,6,7}; //显示缓冲区
PUBLIC uint8 DISP_TAB[]= //显示码表
{
0x14,0xD7,0x4C,0x45,0x87,0x25,0x24,0x57,0x04,0x05,0x06,0xA4,0x3C
};
相关的IO口设为上拉输出
LOCAL void gpio_init(void)
{
GPIO_DeInit(GPIOC);
GPIO_Init(GPIOC,GPIO_PIN_5|GPIO_PIN_6,GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_DeInit(GPIOE);
GPIO_Init(GPIOE,GPIO_PIN_5,GPIO_MODE_OUT_PP_LOW_FAST);
}
SPI初始化
LOCAL void spi_init(void)
{
SPI_DeInit();