LED
来源:互联网 发布:大数据应用专家 编辑:程序博客网 时间:2024/04/27 22:28
代码的组织结构如下:
<img src="http://img.blog.csdn.net/20141019091808308?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2h1bl8xOTU5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
/*Include---------------------------*/#include"stm32f10x_lib.h"//包含所有的头文件#include<stdio.h>//----------------函数声明--------------------void Delay_MS(u16 dly);void RCC_Configuration(void);void GPIO_Configuration(void);void USART3_Configuration(void);/******************************************************************************** Function Name : main* Description : Main program.* Input : None* Output : None* Return : None*******************************************************************************/ int main(void){u8 i,data;#ifdef DEBUGdebug();#endif//------------初始化------------RCC_Configuration();GPIO_Configuration(); //------------164的通信------------//CLK:PB5上升沿 CLR:PE11==1 Data:PE10输出对应的数据//GPIO_ResetBits(GPIOA, GPIO_Pin_10 | GPIO_Pin_15);data = 0xf0; //0011 0000GPIO_ResetBits(GPIOE, GPIO_Pin_11);GPIO_SetBits(GPIOE, GPIO_Pin_11);for(i=0;i<8;i++){GPIO_ResetBits(GPIOB, GPIO_Pin_5); //pb5=0 if((data&0x80)==0x00)GPIO_ResetBits(GPIOE, GPIO_Pin_10); elseGPIO_SetBits(GPIOE, GPIO_Pin_10); GPIO_SetBits(GPIOB, GPIO_Pin_5); //pb5=1data<<=1;}while(1){Delay_MS(20000);GPIO_ResetBits(GPIOC, GPIO_Pin_0);Delay_MS(20000);GPIO_SetBits(GPIOC, GPIO_Pin_0);}}/******************************************************************************** Function Name : Delay_Ms* Description : delay 1 ms.* Input : dly (ms)* Output : None* Return : None*******************************************************************************/void Delay_MS(u16 dly){u16 i,j;for(i=0;i<dly;i++)for(j=1000;j>0;j--);}/******************************************************************************** Function Name : RCC_Configuration* Description : Configures the different system clocks.* Input : None* Output : None* Return : None*******************************************************************************/void RCC_Configuration(void){//----------使用外部RC晶振-----------RCC_DeInit();//初始化为缺省值RCC_HSEConfig(RCC_HSE_ON);//使能外部的高速时钟 while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);//等待外部高速时钟使能就绪FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//Enable Prefetch BufferFLASH_SetLatency(FLASH_Latency_2);//Flash 2 wait stateRCC_HCLKConfig(RCC_SYSCLK_Div1);//HCLK = SYSCLKRCC_PCLK2Config(RCC_HCLK_Div1);//PCLK2 = HCLKRCC_PCLK1Config(RCC_HCLK_Div2);//PCLK1 = HCLK/2RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLLCLK = 8MHZ * 9 =72MHZRCC_PLLCmd(ENABLE);//Enable PLLCLKwhile(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);//Wait till PLLCLK is ready RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//Select PLL as system clockwhile(RCC_GetSYSCLKSource()!=0x08);//Wait till PLL is used as system clock source//---------打开相应外设时钟--------------------RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO,ENABLE);//使能APB2外设的GPIOA的时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);//开启时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOC,ENABLE);}/******************************************************************************** Function Name : GPIO_Configuration* Description : 初始化GPIO外设* Input : None* Output : None* Return : None*******************************************************************************/void GPIO_Configuration(void){//CLK:PB5 CLR:PE11 Data:PE10GPIO_InitTypeDefGPIO_InitStructure;//声明一个结构体变量GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //选择PC.10(TXD) 和 PC.11GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管脚频率为50MHZGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //输出模式为推挽输出GPIO_Init(GPIOB,&GPIO_InitStructure); //初始化PB5GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11; //选择PC.10(TXD) 和 PC.11GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管脚频率为50MHZGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //输出模式为推挽输出GPIO_Init(GPIOE,&GPIO_InitStructure); //初始化PB5GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //选择PC.10(TXD) 和 PC.11GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管脚频率为50MHZGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //输出模式为推挽输出GPIO_Init(GPIOC,&GPIO_InitStructure); //初始化PB5} void USART3_Configuration(void){USART_InitTypeDef U3;U3.USART_BaudRate =9600;U3.USART_WordLength = USART_WordLength_8b;U3.USART_StopBits = USART_StopBits_1;U3.USART_Parity = USART_Parity_No;U3.USART_Mode = USART_Mode_Rx|USART_Mode_Tx;U3.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_Init(USART3, &U3);USART_Cmd(USART3,ENABLE);}
0 0
- led
- LED
- led
- led
- led
- LED
- led
- LED
- LED
- LED
- LED显示器
- LED资料
- led驱动
- LED基础知识
- LED消影
- led控制
- LED控制
- led驱动
- Android学习之手机传感器的获取
- Spark Sparrow
- 实现控制器和视图
- 应聘者页面——文本输入框及单选多视图重构
- 在Ubuntu下进行JAVA开发之前的配置
- LED
- 连外网
- mysql数据类型
- hook技术实现当按下按键时发出声音
- CentOS安装Postfix邮件服务器
- 关于gets()函数和scanf()函数的区别
- HDU 5067 Harry And Dig Machine 状态压缩 DP
- 360公司2015年秋季校园招聘笔试考卷(技术类 D)部分试题程序验证和解析2
- 大型网站技术架构 笔记