超MINI核心板 stm32F103C8最小系统板上调试Usart2功能:用Jlink 6Pin接口连接WStm32f103c8的Uart2,PC机向mcu发送数据,mcu收到数据后数据加1,回传给PC,并把
D1 指示灯状态取反.

硬件连接:

1、R27 悬空不焊接;

2、将P输出TTL接口的TX连接到超MINI核心板 stm32F103C8最小系统板的RX2;

3、将P输出TTL接口的RX连接到超MINI核心板 stm32F103C8最小系统板的TX2;

串口配置uart2.c:

/*-------------------------------------------------------
* @ 功能:usart2Init()串口2初始化 9600, 8, N, 1
* PA2 -> TX2
* PA3 -> RX2
* @ 参数:无
* @ 返回:无
*-------------------------------------------------------
*/
void usart2Init(void)
{
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(UART_GPIO_CLK | RCC_APB2Periph_AFIO, ENABLE);
if(UART == USART1)
RCC_APB2PeriphClockCmd(UART_CLK, ENABLE);
else
RCC_APB1PeriphClockCmd(UART_CLK, ENABLE); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_InitStructure.NVIC_IRQChannel = UART_IRQ_N;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = ;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure); GPIO_InitStructure.GPIO_Pin = UART_RX_PIN; //RX
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(UART_GPIO, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = UART_TX_PIN; //TX
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(UART_GPIO, &GPIO_InitStructure); USART_StructInit(&USART_InitStructure); USART_Init(UART, &USART_InitStructure); USART_ITConfig(UART, USART_IT_RXNE, ENABLE);
USART_Cmd(UART, ENABLE);
} /*-------------------------------------------------------
* @ 功能:中断接收,数据值+1再发送
* @ 参数:无
* @ 返回:无
*-------------------------------------------------------
*/
void UART_IRQ_HANDLER(void)
{
char ch;
if (USART_GetITStatus(UART, USART_IT_RXNE) != RESET)
{
ch = USART_ReceiveData(UART);
usart2SendChar(ch + );
LED_REV();
}
} /*-------------------------------------------------------
* @ 功能:发送
* @ 参数:无
* @ 返回:无
*-------------------------------------------------------
*/
void usart2SendChar(u8 ch)
{
while (USART_GetFlagStatus(UART, USART_FLAG_TC) == RESET);
USART_SendData(UART, (uint8_t)ch);
while (USART_GetFlagStatus(UART, USART_FLAG_TC) == RESET);
}

uart2.h

/********************************************************************************
* @File : uart1.h
* @Author : worldsing
* @Version: V0.1
* @Date : 2014/04/05
* @Brief :
*******************************************************************************
* @Attention:
*/
#ifndef __UART1__
#define __UART1__ #include "stm32f10x.h"
#include "system_stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_usart.h"
#include "misc.h"
#include "uart.h" #define UART USART2
#define UART_GPIO GPIOA
#define UART_CLK RCC_APB1Periph_USART2
#define UART_IRQ_N USART2_IRQn
#define UART_TX_PIN GPIO_Pin_2
#define UART_RX_PIN GPIO_Pin_3
#define UART_GPIO_CLK RCC_APB2Periph_GPIOA
#define UART_IRQ_HANDLER USART2_IRQHandler void usart2Init(void);
void USART2_IRQHandler(void);
void usart2SendChar(u8 ch); #endif //end of file

上位机发送55,超MINI核心板 stm32F103C8最小系统板回复56,LED状态取反;

实物演示

功能连接说明:

1、使用stm32F103C8最小系统板 Uart1 的232电平接口时把R26焊接成0R,P1的pin17, p18悬空;

2、使用stm32F103C8最小系统板 Uart2 的232电平接口时把R27焊接成0R,R17、R12悬空、P2的pin2、pin3悬空;

4、使用stm32F103C8最小系统板 Uart1 的TTL电平接口时把R26悬空,信号连接到P1的pin17, p18;

5、使用stm32F103C8最小系统板 Uart2 的TTL电平接口时把R27悬空,信号连接到P3的pin9, pin12或连接到P2的pin2、pin3;

6、使用stm32F103C8最小系统板 USB转串的TTL电平接口时,直接连接到P1的pin15,pin16;

7、使用stm32F103C8最小系统板 USB转串连接到CPU内部的uart1时,P1的pin17与pin15短接,pin18与pin16短接;

8、使用stm32F103C8最小系统板 Uart2的485接口时,R17和R12焊接0R,P2的pin2、pin3悬空,P3的pin9, pin12悬空,R27悬空;

9、使用stm32F103C8最小系统板 USB接口连接到CPU是,焊接R14,R15为22R,R3,R4悬空,R1,R2悬空;

10、使用stm32F103C8最小系统板 CAN接口连接到CPU是,焊接R1,R2为22R,R3,R4悬空,R14,R15悬空;

11、使用stm32F103C8最小系统板 不焊接CPU时可以做独立的1通道USB转串功能;

12、使用stm32F103C8最小系统板 不焊接CPU时可以做独立的2通道TTL转232功能;

13、使用stm32F103C8最小系统板 不焊接CPU时可以做独立的1通道485转TTL功能,外置三级管;

14、使用stm32F103C8最小系统板 不焊接CPU时可以做独立的1通道CAN转TTL功能;

WS103C8例程——串口2【worldsing笔记】的更多相关文章

  1. emWin(ucGui)数值显示例程 -【worldsing笔记】

    本例程下载:2.emWin5.26(ucGui)VS2008数字显示.zip   在emWin显示文本字符还是容易,我们也可以使用字符串和标准 C 库的函数来显示数值.然而,有时候这会是件困难的事.通 ...

  2. QTbaWidget控件几个例程 【worldsing笔记】

    Qt Creator自带的 QTabWidget控件几个例程 在Qt Windos版本安装后,在Example目录可以找到与QTabWidget相关的工程Demo,如果按默认安装的话他们分别是:   ...

  3. STM32串口IAP实验笔记

    STM32的IAP功能确实方便,以前对此如何实现有所了解,但是一直没去测试,这两天来练了下,可谓困难重重,搞了两天问题也一一解决,下面做些简要的笔记 IAP就是在线应用编程,方便程序升级,可以不用打开 ...

  4. 谢欣伦 - OpenDev原创例程 - 串口助手Comm Assist

    前一段时间,一位博友发邮件给我.他跟我讲说没太看懂<化繁为简系列原创教程 - 通信专题 - 串口类CxComm的使用>,请我做一个DEMO工程给他.我抽了一天时间编写并上传了一个DEMO工 ...

  5. 3.emWin5.26(ucGui)VS2008 2-D图形库-基本绘图【Worldsing笔记】

    UCGUI(emWin) 2-D图形库--之基本板绘图,在ucgui的基本绘图功能上来看,功能还是比较全的,本例程主要使用基本的接口,两个主要的概念是绘制(draw)和填充(Fill),这两的区别是一 ...

  6. MFRCC522 SPI无法通讯【worldsing笔记】

    用单片机于MRFC522与单片接时,加上485通讯后出现很诡异的像: 只要485芯片上有收到外部发送的信号时RC522就死掉,经过仿真卡在了SPI的收发部分(等待回复) u8 MFRC522Write ...

  7. stm32 时钟配置——外部时钟倍频、内部时钟倍频 【worldsing笔记】

    stm32可选的时钟源 在STM32中,可以用内部时钟,也可以用外部时钟,在要求进度高的应用场合最好用外部晶体震荡器,内部时钟存在一定的精度误差. 准确的来说有4个时钟源可以选分别是HSI.LSI.H ...

  8. 推荐《C Primer Plus(第五版)中文版》【worldsing笔记】

      老外写的C书,看了你会有一种哇塞的感觉,这里提供PDF扫描版的下在,包含数内的例程,请大家支持原版!! C Primer Plus(第五版)中文版.pdf  下载地址:http://pan.bai ...

  9. Keil Mdk5.0 破解包 和谐包【worldsing笔记】

    有关Keil MDK 5.0的介绍和下载 http://www.cnblogs.com/worldsing/p/3355911.html 下载地址 点击下载:http://pan.baidu.com/ ...

随机推荐

  1. sdut 2819 比赛排名(边表 拓扑排序)

    题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2819 #include <iost ...

  2. ajax上传图片 jquery插件 jquery.form.js 的方法 ajaxSubmit; AjaxForm与AjaxSubmit的差异

    先引入脚本  这里最好是把jquery的脚本升级到1.7 <script src="js/jquery-1.7.js" type="text/javascript& ...

  3. Java [Leetcode 326]Power of Three

    题目描述: Given an integer, write a function to determine if it is a power of three. Follow up:Could you ...

  4. 【转】Linux Posix Timer使用

    原文网址:http://blog.csdn.net/hongszh/article/details/8608781 最强大的定时器接口来自POSIX时钟系列,其创建.初始化以及删除一个定时器的行动被分 ...

  5. mysql优化小技巧

    对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平 ...

  6. ruby函数回调的实现方法

    以前一直困惑ruby不像python,c可以将函数随意传递,然后在需要的时候才去执行.其实本质原因是ruby的函数不是对象. 通过查阅资料发现可以使用如下方法: def func(a, b) puts ...

  7. System Services -> Memory Management -> About Memory Management

    Virtual Address Space Memory Pools Memory Performance Information Virtual Memory Functions Heap Func ...

  8. Map/Reduce之间的Partitioner接口

    一.Partitioner介绍 Partitioner的作用是对Mapper产生的中间结果进行分片,以便将同一分组的数据交给同一个Reduce处理,它直接影响Reduce阶段的负载均衡(个人理解:就是 ...

  9. Android控件之GridView

    GridView是一项显示二维的viewgroup,可滚动的网格.一般用来显示多张图片. 以下模拟九宫图的实现,当鼠标点击图片时会进行相应的跳转链接. 目录结构 main.xml布局文件,存放Grid ...

  10. Android Dialog用法

    摘要: 创建对话框 一个对话框一般是一个出现在当前Activity之上的一个小窗口. 处于下面的Activity失去焦点, 对话框接受所有的用户交互. 对话框一般用于提示信息和与当前应用程序直接相关的 ...