PIC 串口通讯停止位怎么设?

maxhbx 2012-09-05 02:36:28
PIC(如PIC16F883/PIC18FK22)的串口,在哪配置停止位(1位或2位)。好像没有相应的配置寄存器位,是不是不能配置停止位,固定是1位?
...全文
319 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshi_ziyu 2012-09-16
  • 打赏
  • 举报
回复
手册上写着
Each character transmission consists of one Start bit followed by eight or nine data bits and is always terminated by one or more Stop bits.

应该是可以配置的

看一下手册
12.0 ENHANCED UNIVERSAL SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER (EUSART)
dsoyy 2012-09-09
  • 打赏
  • 举报
回复
void Rs232_TX_Init(void)
{
//波特率设置
BAUDCON=0x00; //8位波特率发生器
//端口方向
TRISC |= 0XC0;
ANSELA = 0X00;

SPBRG = 17;//25;//SPBRG = ((Fosc/BAUDRATE)/64)-1; //8位,异步,低速
//发送控制寄存器
SYNC = 0;
SPEN = 1;
TXEN = 1;

// TXIE = 1; //使能发送串口中断
}
/**********************************************************
函数说明: 232初始化,RC7 --- RX1
RC6 --- TX1
***********************************************************/
void Rs232_Rx_Init(void)
{
//波特率设置
BAUDCON=0x00; //8位波特率发生器

SPBRG = 25;//SPBRG = ((Fosc/BAUDRATE)/64)-1; //8位,异步,低速 9600

SPEN = 1; //使能串口
SYNC = 0; //异步操作

RCIE = 1;
GIE = 1;
PEIE = 1;

CREN = 1;//使能接收串口
}

还没真看到这个位的设置寄存器,但是文档里面是有讲述关于这个位的。

27,511

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧