锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

STM32串口通信和I/O口简单代码

时间:2024-05-19 03:07:11


#include #include "sys.h" #include "delay.h" #include "usart.h" #include "led.h"


int main(void) { u8 k; //点亮的灯位数 u8 i; Stm32_Clock_Init(9); //系统时钟初始化 delay_init(72); //延时初始化 uart_init(72,9600); //串口初始化 led_init(); //灯I/O配置初始化 while(1) { if(U _RX_ A&0x80) //接受到数据判断 { printf("\n you send massage is :\n"); for(i=0;i<(USART_RX_STA&0x3f);i++) { USART1->DR=USART_RX_BUF[i]; //把接受到的数据传给电脑 k=USART_RX_BUF[2]-0x30; //接受到要开发的灯泡值 } USART_RX_STA=0; //接受位清零 } if(k==1)LED1=0; //判断点亮那个灯 if(k==2)LED2=0; if(k==3)LED3=0; if(k==4)LED4=0; if(k==5)LED5=0; if(k==6)LED6=0; if(k==7)LED7=0; if(k==8)LED8=0;
} }

//-------------------------------------灯配置库函数---------------

#include #include "led.h"

void led_init() { RCC->APB2ENR|=1<<3; //时能PORTB时钟 GPIOB->CRL&=0x00000000; //清空寄存器值 GPIOB->CRL|=0x33333333; //推挽输出 GPIOB->ODR=0xffff;
}

#ifndef _led_h #define _led_h

void led_init(void); #define LED1 PBout(0) #define LED2 PBout(1) #define LED3 PBout(2) #define LED4 PBout(3) #define LED5 PBout(4) #define LED6 PBout(5) #define LED7 PBout(6) #define LED8 PBout(7)
#endif

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章