【STM32 Cotex-M3处理器系列编程】串口调试

发布者:LogicLeaper最新更新时间:2015-09-22 来源: eefocus关键字:STM32  Cotex-M3  串口调试 手机看文章 扫描二维码
随时随地手机看文章
#include "stm32f10x.h"
//#include "stm32f10x_lib.h"
 
void Delay(unsigned int x);
void UART_Init(void);
 
int main(void)
 
  
  
  while (1)
  {
    Delay(300000);
    UART_Init();   //初始化串口
    USART_SendData(USART1,0x1A);   //从串口发送数据到计算机
    while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);//RESET是0,等待发送完毕
   // if(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET)
    GPIO_SetBits(GPIOC, GPIO_Pin_6 );   //发送完毕则点亮D1二极管
 
   }
}
 
 
void UART_Init(void)
{
  SystemInit();//配置系统时钟
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_USART1,ENABLE);//IO口使能设置
  GPIO_InitTypeDef GPIO_InitStructure;   //定义I/O口结构体
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3;   
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
  
  USART_InitTypeDef USART_InitStructure;//定义串口结构体
  //RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能串口1
  USART_InitStructure.USART_BaudRate=38400;
  USART_InitStructure.USART_WordLength=USART_WordLength_8b;
  USART_InitStructure.USART_StopBits=USART_StopBits_1;
  USART_InitStructure.USART_Parity=USART_Parity_No;
  USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode=USART_Mode_Rx | USART_Mode_Tx;
  USART_Init(USART1,&USART_InitStructure);
  USART_Cmd(USART1,ENABLE);
}
 
 
 
void Delay(unsigned int x)
{
unsigned int t;
t=x;
while(t--);
}
关键字:STM32  Cotex-M3  串口调试 引用地址:【STM32 Cotex-M3处理器系列编程】串口调试

上一篇:【STM32 Cotex-M3处理器系列编程】定时器输出PWM波
下一篇:【STM32 Cotex-M3处理器系列编程】按键灯亮

推荐阅读最新更新时间:2024-03-16 14:32

STM32中USART接收中断问题使单片机死机
问题描述: 在使用USART做串口通讯时,我只把接收中断打开,并设置抢占优先级为最低一个级别,而接收中断上一个优先级处理事情比较多,可能占用了2ms时间。当我使用9600波特率往下位机发送数据,速度非常快,就是一直按回车发送!问题就出来,不到1分钟时间,通讯没有反应了,死机了。USART配置代码如下: void uart_config(void) { USART_InitTypeDef USART_InitStructure; USART_InitStructure.USART_BaudRate = UART_GetBaud(BaudRate); USART_InitStructure.USART_WordLength = USA
[单片机]
STM32的GPIO电路原理详解
GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。 STM32F103ZET6芯片为144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。 STM32的大部分引脚除了当GPIO使用之外,还可以复用为外设功能引脚,比如串口。 GPIO基本结构 每个GPIO内部都有这样的一个电路结构,这个结构在本文下面
[单片机]
<font color='red'>STM32</font>的GPIO电路原理详解
STM32 + ESP8266 + MQTT协议连接OneNet
一、环境介绍 单片机 采用: STM32 F103C8T6 上网方式:采用 ESP8266 ,也可以使用其他设备代替,只要支持TCP协议即可。比如:GSM模块、有线网卡等。 开发软件: keil 5 硬件 连接功能:ESP8266接在STM32的串口3上。通过AT指令与ESP8266进行 通信 。 注意:本篇文章没有贴ESP8266的底层 编程 代码,如果不会ESP8266底层编程,请看这里: https://blog.csdn.net/xiaolong1126626497/ar ti cle/det ai ls/107379554 如果需要了解ESP8266+MQTT协议连接阿里云 物联网 服务器请看这里:https:/
[单片机]
<font color='red'>STM32</font> + ESP8266 + MQTT协议连接OneNet
浅析STM32中SysTick在3.5固件库中的应用
最近一直在忙STM32的学习,在学习中遇到了不少问题,也经过各种尝试解决问题,在这里我通过博文的形式写出来,也希望能够帮到遇见同样问题的人们。对于STM32系列的芯片,有一个好处就是官方给出了一个固件库,这个能够很方便大家伙的编程。省去了使用寄存器的方法。但是固件库的学习也有很多让人麻烦的地方。比如更新速度快,这样大家可以在一棵树上吊死。只认一个版本的固件库。在这里我所用的是3.5标准固件库。 STM32内核中有一个系统定时器,它是一个24位递减计数器。工作原理是系统时基定时器设定初值并使能后,每经过1个系统时钟周期,计数值就减,当计数值减到0时,系统定时器会重新自动重装初值,并继续下一次计数,同时内部的COUNTFLAG标志
[单片机]
stm32和电机开发(开篇)
第一次知道电机开发,是在2019年的时候,也就是差不多3年半前。当时有一位同事在美的上班,是他让我知道了电机控制的一些应用场景。等到后来自己做了AGV的一些工作,对电机开发和控制这块就更有兴趣了。利用pwm就可以控制加速度、速度和位置,这本身就是很神奇的事情。现在网上,尤其是b站上面已经有很多mcu控制电机的视频了,某野火、某原子、某硬石也出了类似开发板,正好可以拿来学一下。 1、电机种类 常用电机主要是直流有刷电机、直流无刷电机、步进电机、舵机和永磁同步电机(pmsm)这几种。 2、电机控制构成 电机控制一般有这几个部分组成,控制电路板(一般是mcu开发板)、驱动板(实现控制信号到电机驱动信号的转变)、电机、电源这几个部
[单片机]
stm32 ADXL345传感器
加速度灵敏度轴 沿敏感轴加速时相应输出电压增加 寄存器映射 寄存器定义 0x31—DATA_FORMAT SELF_TEST位:设置为1,自测力应用至传感器,造成输出数据转换。值为0时,禁用自测力 SPI位:值为1,设置器件为3线式SPI模式,值为0,则设置为4线式SPI模式 INT_INVERT位:值为0,设置中断至高电平有效,值为1,则设置至低电平有效 FULL_RES位:设置为1,该器件为全分辨率模式,输出分辨率随着范围位设置的g范围,以4 mg/LSB的比例因子而增加。 FULL_RES位设置为0时,该器件为10位模式,范围位决定最大g范围和比例因子 对齐位:设置为1,选择左对齐(MS
[单片机]
<font color='red'>stm32</font> ADXL345传感器
STM32第一次学习——使用库函数点亮LED灯
使用库函数点亮LED灯 led.h #ifndef _LED_H #define _LED_H #include stm32f10x.h #define LED_PORT_RCC RCC_APB2Periph_GPIOC #define LED_PIN GPIO_Pin_0 #define LED_PORT GPIOC void LED_Init(void); #endif led.c #include led.h void LED_Init() { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_G
[单片机]
uclinux下stm32开发环境搭建
  什么是uclinux   uclinux表示micro-control linux.即“微控制器领域中的Linux系统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uCLinux主要是针对目标处理器没有存储管理单元MMU(Memory Management Unit)的嵌入式系统而设计的。它已经被成功地移植到了很多平台上。由于没有MMU,其多任务的实现需要一定技巧。   uClinux是嵌入式Linux领域非常重要的分支,已成功应用于路由器、机顶盒、PDA等领域,与标准Linux在内存管理方面有着本质的区别。   uCLinux是一种优秀的嵌入式Linux版本,是micro-Controll
[单片机]
uclinux下<font color='red'>stm32</font>开发环境搭建
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved