【STM32单片机】STM32F103 串口1 串口2 串口3 串口4 串口5 初始化,标准库 ,支持printf

182 篇文章 ¥199.90 ¥299.90

单片机介绍

STM32F103RCT6是一款主流性能系列的单片机,采用Arm Cortex-M3内核,具有256K字节的Flash存储器,72 MHz的CPU频率,支持电机控制、USB和CAN等功能。

该产品已经批量生产,10kU的单价为4.0035美元,采用LQFP 64封装,尺寸为10x10x1.4mm。

STM32F103xC、STM32F103xD和STM32F103xE性能系列产品采用高性能的ARM Cortex-M3 32位RISC内核,工作频率为72 MHz。它们拥有高速嵌入式存储器(Flash存储器最高达512K字节,SRAM最高达64K字节),以及广泛的增强型I/O口和外围设备,可以连接两个APB总线。所有这些设备都提供了三路12位ADC、四个通用16位定时器和两个PWM定时器,以及标准和高级通信接口:最多两个I2C接口、三个SPI接口、两个I2S接口、一个SDIO接口、五个串行USART接口、一个USB接口和一个CAN接口。

STM32F103xC/D/E高密度性能系列单片机可在-40℃至+105℃的温度范围内工作,电源电压为2.0至3.6V。它们具有一套全面的省电模式,适用于低功耗应用的设计。

这些特性使得STM32F103xC/D/E高密度性能系列单片机非常适合广泛的应用领域,如电机驱动、应用控制、医疗和便携设备、个人电脑和游戏外围设备、

stm32串口1串口3数据互通,经测试同时发256字节不丢包 void usart3_init(u32 bound) { NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); // GPIOBʱÖÓ RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE); //´®¿Ú3ʱÖÓÊ&sup1;ÄÜ USART_DeInit(USART3); //¸´Î»´®¿Ú3 //USART3_TX PB10 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //PB10 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //¸´ÓÃÍÆÍìÊä&sup3;ö GPIO_Init(GPIOB, &GPIO;_InitStructure); //&sup3;õÊ&frac14;»¯PB10 //USART3_RX PB11 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//¸¡¿ÕÊäÈë GPIO_Init(GPIOB, &GPIO;_InitStructure); //&sup3;õÊ&frac14;»¯PB11 USART_InitStructure.USART_BaudRate = bound;//&sup2;¨ÌØÂÊÒ»°ãÉèÖÃΪ9600; USART_InitStructure.USART_WordLength = USART_WordLength_8b;//×Ö&sup3;¤Îª8λÊý&frac34;ݸñÊ&frac12; USART_InitStructure.USART_StopBits = USART_StopBits_1;//Ò»¸öÍ£Ö&sup1;λ USART_InitStructure.USART_Parity = USART_Parity_No;//ÎÞÆæÅ&frac14;УÑéλ USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//ÎÞÓ&sup2;&frac14;þÊý&frac34;ÝÁ÷¿ØÖÆ USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //ÊÕ·¢Ä£Ê&frac12; USART_Init(USART3, &USART;_InitStructure); //&sup3;õÊ&frac14;»¯´®¿Ú 3 USART_Cmd(USART3, ENABLE); //Ê&sup1;ÄÜ´®¿Ú //Ê&sup1;ÄÜ&frac12;ÓÊÕÖÐ¶Ï USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//¿ªÆôÖÐ¶Ï //ÉèÖÃÖжÏÓÅÏÈ&frac14;¶ NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2 ;//ÇÀÕ&frac14;ÓÅÏÈ&frac143 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; //×ÓÓÅÏÈ&frac143 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQͨµÀÊ&sup1;ÄÜ NVIC_Init(&NVIC;_InitStructure); //¸ù&frac34;ÝÖ¸¶¨µÄ&sup2;ÎÊý&sup3;õÊ&frac14;»¯VIC&frac14;Ä´æÆ÷ TIM4_Int_Init(1000-1,7200-1); //10msÖÐ¶Ï USART3_RX_STA=0; //ÇåÁã TIM_Cmd(TIM4,DISABLE); //&sup1;رն¨Ê±Æ÷7 } //´®¿Ú3,printf º¯Êý //È·±£Ò»´Î·¢ËÍÊý&frac34;Ý&sup2;»&sup3;¬&sup1;ýUSART3_MAX_SEND_LEN×Ö&frac12;Ú void u3_printf(char* fmt,...) { u16 i,j; va_list ap; va_start(ap,fmt); vsprintf((char*)USART3_TX_BUF,fmt,ap); va_end(ap); i=strlen((const char*)USART3_TX_BUF); //´Ë´Î·¢ËÍÊý&frac34;ݵÄ&sup3;¤¶È for(j=0;j<i;j++) //Ñ­»··¢ËÍÊý&frac34;Ý { while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //Ñ­»··¢ËÍ,Ö±µ&frac12;·¢ËÍÍê±Ï USART_SendData(USART3,USART3_TX_BUF[j]); } }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值