标题:
分享几个STM32F103RCT6例程(USART串口实验)
[打印本页]
作者:
ZHANGJH123456
时间:
2018-8-31 23:54
标题:
分享几个STM32F103RCT6例程(USART串口实验)
包含UART、KEY、LED、USB-Flash、RTC几个完整工程的例程给新手铺路
0.jpg
(72.83 KB, 下载次数: 108)
下载附件
2018-9-1 02:43 上传
=============================
下载方式
=============================
·SWD JTAG
=============================
程序功能
=============================
·USART串口实验
=============================
硬件连接
=============================
·将串口调试板连接到USART1接口上
======================================
软件设置
======================================
·并且打开串口助手 选择好相应的COM口 如下设置
----------------
波特率 | 115200 |
----------------
数据位 | 8 |
----------------
停止位 | 1 |
----------------
校验位 | None |
----------------
流控制 | None |
----------------
======================================
实验现象
======================================
·串口助手输出相应信息
单片机源程序如下:
#include <stm32f10x.h>
#include "usart.h"
//#define CTRT
void Delay (uint32_t nCount);
#define LED1(x) x ? GPIO_SetBits(GPIOB,GPIO_Pin_12): GPIO_ResetBits(GPIOB,GPIO_Pin_12)
#define LED2(x) x ? GPIO_SetBits(GPIOB,GPIO_Pin_13): GPIO_ResetBits(GPIOB,GPIO_Pin_13)
#define LED3(x) x ? GPIO_SetBits(GPIOB,GPIO_Pin_14): GPIO_ResetBits(GPIOB,GPIO_Pin_14)
#define LED4(x) x ? GPIO_SetBits(GPIOB,GPIO_Pin_15): GPIO_ResetBits(GPIOB,GPIO_Pin_15)
uint8_t TxBuffer[] = "\n\rUSART Hyperterminal Hardware Flow Control Example: USART - \
Hyperterminal communication using hardware flow control\n\r";
#ifndef CTRT
//配置矢量中断,矢量的意思就是有顺序,有先后的意思。
void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure; //定义数据结构体
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0000);//将中断矢量放到Flash的0地址
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//设置优先级配置的模式,详情请阅读原材料中的文章
//使能串口中断,并设置优先级
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure); //将结构体丢到配置函数,即写入到对应寄存器中
}
#endif
int main(void)
{
u32 i=0xffffff;
SystemInit();
#ifdef CTRT /*使用CTS RTS硬件流模式*/
USART_CTRT_Configuartion();
while(NbrOfDataToTransfer--)
{
USART_SendData(USART1, TxBuffer[TxCounter++]);
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
}
/*Receive a string (Max RxBufferSize bytes) from the Hyperterminal ended by '\r' (Enter key) */
while(1)
{
if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) != RESET)
{
USART_SendData(USART1,USART_ReceiveData(USART1));
}
}
#else /*普通串口模式*/
usart_Configuration();
NVIC_Configuration();
while(1)
{
printf("Waveshare!\r\n");
while(--i);
i=0xffffff;
}
#endif
}
/*******************************************************************************
* Function Name : Delay
* Description : Delay Time
* Input : - nCount: Delay Time
* Output : None
* Return : None
* Attention : None
*******************************************************************************/
void Delay (uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
复制代码
所有资料51hei提供下载:
Port103R.rar
(1.97 MB, 下载次数: 410)
2018-9-1 02:46 上传
点击文件名下载附件
下载积分: 黑币 -5
Port103R.pdf
(389.14 KB, 下载次数: 118)
2018-8-31 23:49 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
wdliming
时间:
2018-10-3 08:55
谢谢分享!!!!
作者:
T礼物X
时间:
2018-10-13 15:12
谢谢分享,,,
作者:
SkyLine风
时间:
2018-10-13 17:31
谢谢分享!!!!
作者:
xueshan123
时间:
2019-1-2 09:45
GOOD GUY
作者:
jach09
时间:
2019-1-7 15:23
谢谢分享,,,
作者:
懒懒的627
时间:
2019-1-25 09:37
感谢分享
作者:
guolh
时间:
2019-5-27 11:07
多谢分享
作者:
贺哓翔
时间:
2019-7-23 15:52
谢谢分享!!!!
作者:
贺哓翔
时间:
2019-7-23 15:53
硬件连接,还不错
作者:
DH5630
时间:
2019-10-15 19:57
感谢分享,下载试试
作者:
boys556
时间:
2019-10-21 22:19
谢谢分享!!!
作者:
rgbgirl
时间:
2019-12-17 10:55
感谢分享
作者:
a849033640
时间:
2019-12-26 18:43
谢谢分享!!!!
作者:
digimon
时间:
2020-3-6 21:53
谢谢分享!!!!
作者:
zbw8200980
时间:
2020-4-2 16:42
多谢分享,分儿不够
作者:
Souryu
时间:
2020-6-20 17:19
谢谢分享,感谢大佬
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1