****************************************main.c*********************************
#include #include "uart.h"
#include "iocfg.h"
uchar com_tx_buffer;
void main( )
{
OSCCON=0x7a;//内部晶振16MHz
io_init( );//GPIO口初始化
uart_init(9600);//波特率9600
INTCON=0xe0;//允许终端
while(1)
{
com_tx_buffer=0x55;//发送缓存写入0x55
}
}
***************************************************************************
********************************uart.c*************************************
#include
#include "uart.h"
#define SP1BRG_16M_9K6 418
uchar uart_init(uint baud_rate)
{
uchar br_done=0;
TRISC7=1;//RC6、RC7作为uart口必须设为输入
TRISC6=1;
do
{
if(baud_rate==BAUD_9600)
{
SP1BRGL = SP1BRG_16M_9K6;
SP1BRGH = (U16)SP1BRG_16M_9K6 >> 8;
br_done = 1;
break;
}
}while(0);
BAUD1CON = 0x08;//16位波特率发生器
RC1STA = 0x90; //允许发送
TX1STA = 0x24; //允许接收
RCIE = 1;
return br_done;
}
void interrupt uart_isr( )
{
if(TXIF)
{
TXIF=0;
TX1REG = com_tx_buffer;
}
}
*************************************************************
关键字:PIC单片机 串口 测试模块
引用地址:
PIC单片机上串口测试模块
推荐阅读最新更新时间:2024-11-11 00:04
stm32串口usart的使用
一、串口的定义 用来与外界交互数据。 二、usart的配置: 1、开启时钟。 stm32的usart1挂载在apb2上,USART2、usart3挂载在apb1上。 2、串口的基本配置。 void USART1_Configuration(void) { USART_InitTypeDef USART_InitStructure; USART_DeInit (USART1 ); USART_InitStructure .USART_BaudRate =9600; USART_InitStructure .USART_WordLength =USART_WordLength_8b ; USART_InitStructure .USA
[单片机]
STM32的串口发送数据(字符,字符串,数字.......)
#include stm32f10x.h #include stdio.h //下面strlen函数需要此头文件 #include USART.h /********************************************************** ** 函数名:u32tostr ** 功能描述: 将一个32位的变量dat转为字符串,比如把1234转为 1234 ** 输入参数: dat:带转的long型的变量 str:指向字符数组的指针,转换后的字节串放在其中 ** 输出参数: 无 ***************************************************
[单片机]
PC机与单片机之间的串口通信程序的设计与实现
1.引言 在众多集成可视化开发环境中,VisualC++是编程环境的最佳选择,VC++应用程序的开发主要有两种模式,一种是WIN API方式,另一种是MFC方式,传统的WIN API方式比较繁琐,而MFC是对WIN API再次封装,MFC相对于WIN API开发更具备效率优势,开发者只要在局部做简单地修改,即可处理大部分窗口事物。MFC封装了200多个类并且提供了友好的界面环境,具有类管理灵活方便、代码编写和界面设计集成交互操作、可移植性强等优点,与各种数学手段和数据处理、分析算法相结合还可以实现海量数据分析,智能、快速、灵活数据处理,使便携现场检测仪器功能强,灵活度高,速度快,扩展性好。 串口通信具有连续简单、使
[单片机]
【STM32】串口通信基本原理(超基础、详细版)
STM32F1xx官方资料: 《STM32中文参考手册V10》-第25章通用同步异步收发器(USART) 通信接口背景知识 设备之间通信的方式 一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。它们的区别是: 并、串行通信的区别 并行通信 串行通信 传输原理 数据各个位同时传输 数据按位顺序传输 优点 速度快 占用引脚资源少 缺点 占用引脚资源多 速度相对较慢 串行通信的分类 1、按照数据传送方向,分为: 单工:数据传输只支持数据在一个方向上传输; 半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两
[单片机]
FreeRTOS+STM32F103串口通信错误解决方法
在调试FreeRTOS系统时,在串口中断中用队列存储数据,然后再定时器中断中用队列接收数据,并通过串口打印出来。在调试代码中编译器报错。 …OBJLED.axf: Error: L6915E: Library reports error: __use_no_semihosting was requested, but _ttywrch was referenced 在网上搜索之后,找到了一个解决方法。在usart.c文件中添加以下代码,可以解决这个问题。 //__use_no_semihosting was requested, but _ttywrch was _ttywrch(int ch) { ch = ch
[单片机]
51 IO口模拟串口通讯C源程
#include reg51.h sbit BT_SND =P1^0; sbit BT_REC =P1^1; /********************************************** IO 口模拟232通讯程序 使用两种方式的C程序 占用定时器0 **********************************************/ #define MODE_QUICK #define F_TM F0 #define TIMER0_ENABLE TL0=TH0; TR0=1; #define TIMER0_DISABLE TR0=0; sbit ACC0= ACC^0; sbit ACC
[单片机]
MSP430串口接收控制LED
/********************************************** *程序描述:单片机的P3.4、P3.5作为串口接收字符,将接受到的字符再发送出去 *并且根据接受到的字符‘1’‘2’‘3’‘4’分别点亮LED1、LED2、LED3、LED4 P2.0- LED1 ,P2.1- LED2, P2.2- LED3 ,P2.3- LED4 ***********************************************/ #include void usartInit(void); //串口初始化 void main(void) { WDTCTL =
[单片机]
基于pic单片机测温程序分享
;振荡器1MHzR/C ;命令时钟250kHz include page1macro bsfSTATUS,RP0;page1 endm page0macro bcfSTATUS,RP0;page0 endm cbLOCk0ch ti me1, te mp lo_val,hi_val,msn,lsn digit1,digit2 count,read ssave,wsave flags endc ;================================== org00 gotoinit org04 btfssINTCON,T0IF gotoend_int MOVwfwsave swapfSTATUS,w MOVwf
[单片机]