这是我的.h程序
#include "stm32f10x.h"
#include "RGB_LED.h"
#include "delay.h"
void RGB_LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_9);
}
void RGB_LED_Write0(void)
{
RGB_LED_HIGH;
__nop();__nop();__nop();__nop();__nop();__nop();
RGB_LED_LOW;
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();
}
void RGB_LED_Write1(void)
{
RGB_LED_HIGH;
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();
RGB_LED_LOW;
__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
__nop();__nop();
}
void RGB_LED_Reset(void)
{
RGB_LED_LOW;
delay_us(80);
}
void RGB_LED_Write_Byte(uint8_t byte)
{
uint8_t i;
for(i=0;i<8;i++)
{
if(byte&0x80)
{
RGB_LED_Write1();
}
else
{
RGB_LED_Write0();
}
byte <<= 1;
}
}
void RGB_LED_Write_24Bits(uint8_t green,uint8_t red,uint8_t blue)
{
RGB_LED_Write_Byte(green);
RGB_LED_Write_Byte(red);
RGB_LED_Write_Byte(blue);
}
//亮灯颜色设定,其他颜色以此类推
void RGB_LED_Red(void)
{
uint8_t i;
//4个LED全彩灯
for(i=0;i<4;i++)
{
RGB_LED_Write_24Bits(0, 0xff, 0);
}
}
void RGB_LED_Green(void)
{
uint8_t i;
for(i=0;i<4;i++)
{
RGB_LED_Write_24Bits(0xff, 0, 0);
}
}
void RGB_LED_Blue(void)
{
uint8_t i;
for(i=0;i<4;i++)
{
RGB_LED_Write_24Bits(0, 0, 0xff);
}
}
这是我的C的函数,请问主函数怎么书写,怎么与WS2812B智能灯连接呢用STM32F103
|