[mw_shl_code=c,true]//在stm8s上实现的。应该知道怎么改吧。[/mw_shl_code]
[mw_shl_code=c,true]struct GPIO
{
GPIO_TypeDef* GPIO_Port;
GPIO_Pin_TypeDef GPIO_Pin;
};
struct GPIO Led_Duan[8] =
{
{GPIOD,GPIO_PIN_5}, //LED0
{GPIOA,GPIO_PIN_3}, //LED1
{GPIOC,GPIO_PIN_6}, //LED2
{GPIOD,GPIO_PIN_2}, //LED3
{GPIOD,GPIO_PIN_3}, //LED4
{GPIOD,GPIO_PIN_6}, //LED5
{GPIOC,GPIO_PIN_5}, //LED6
{GPIOC,GPIO_PIN_7}, //LED7
};
//==============================================================================
//函数名称:led_display
//功能概要:LED显示指定数据
//参数说明:Duan: 指定的数据
//函数返回:无
//==============================================================================
void led_display(uint8_t Duan_Data)
{
(((Duan_Data>>0)&0x01) == 0)?GPIO_WriteLow(Led_Duan[0].GPIO_Port,Led_Duan[0].GPIO_Pin):GPIO_WriteHigh(Led_Duan[0].GPIO_Port,Led_Duan[0].GPIO_Pin);
(((Duan_Data>>1)&0x01) == 0)?GPIO_WriteLow(Led_Duan[1].GPIO_Port,Led_Duan[1].GPIO_Pin):GPIO_WriteHigh(Led_Duan[1].GPIO_Port,Led_Duan[1].GPIO_Pin);
(((Duan_Data>>2)&0x01) == 0)?GPIO_WriteLow(Led_Duan[2].GPIO_Port,Led_Duan[2].GPIO_Pin):GPIO_WriteHigh(Led_Duan[2].GPIO_Port,Led_Duan[2].GPIO_Pin);
(((Duan_Data>>3)&0x01) == 0)?GPIO_WriteLow(Led_Duan[3].GPIO_Port,Led_Duan[3].GPIO_Pin):GPIO_WriteHigh(Led_Duan[3].GPIO_Port,Led_Duan[3].GPIO_Pin);
(((Duan_Data>>4)&0x01) == 0)?GPIO_WriteLow(Led_Duan[4].GPIO_Port,Led_Duan[4].GPIO_Pin):GPIO_WriteHigh(Led_Duan[4].GPIO_Port,Led_Duan[4].GPIO_Pin);
(((Duan_Data>>5)&0x01) == 0)?GPIO_WriteLow(Led_Duan[5].GPIO_Port,Led_Duan[5].GPIO_Pin):GPIO_WriteHigh(Led_Duan[5].GPIO_Port,Led_Duan[5].GPIO_Pin);
(((Duan_Data>>6)&0x01) == 0)?GPIO_WriteLow(Led_Duan[6].GPIO_Port,Led_Duan[6].GPIO_Pin):GPIO_WriteHigh(Led_Duan[6].GPIO_Port,Led_Duan[6].GPIO_Pin);
(((Duan_Data>>7)&0x01) == 0)?GPIO_WriteLow(Led_Duan[7].GPIO_Port,Led_Duan[7].GPIO_Pin):GPIO_WriteHigh(Led_Duan[7].GPIO_Port,Led_Duan[7].GPIO_Pin);
}[/mw_shl_code]
|