打印

MSP430串口采用中断方式发送问题

[复制链接]
1282|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Soraka|  楼主 | 2017-8-22 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写的查询法发送数据代码如下:分析一下代码有没有错误?

/*************发送一个字节*********/
void Send_Char(unsigned char Ch)          //发送一个字节
{
  TXBUF0=Ch;
  while(!(IFG1&UTXIFG0));                    //等待发送完毕 !(IFG1&UTXIFG0)为0发送未完成  当!(IFG1&UTXIFG0)为1
  IFG1&=~UTXIFG0;                           //发送标志位清零
}
/**********发送一组字符串*********/      
void Send_String(unsigned char *String)    //发送一组字符串
{
    uchar *P;
    P=String;   
  while(*P!='\0')
   {
     Send_Char(*P);
     P++;
   }
}


现在想采用中断的方式发送数据,不知道怎么发送,什么时候发送,发送标志如何产生,一头水雾不知道怎么解决  希望贴友们的指导。

相关帖子

沙发
Garen2| | 2017-8-22 16:52 | 只看该作者

中断发送比较复杂,首先要有个队列,要进行队列管理。

使用特权

评论回复
板凳
Ryze| | 2017-8-22 16:58 | 只看该作者
发送的时候,把数据放入队列内,然后开发送中断。
队列为空的时候,关中断。

使用特权

评论回复
地板
Varus| | 2017-8-22 17:08 | 只看该作者
要防止变量的写冲突,在写某些共享的变量时要关中断。

使用特权

评论回复
5
Snow7| | 2017-8-22 17:36 | 只看该作者
1 时钟配置,串口波特率,使能等参数配置
2 开启串口中断
3.开启总中断。
4.void Send_String(unsigned char *String)  函数中将P设置为全局变量,在发送第一个字符之前赋值P=String;
5,将Send_String函数放到你的中断服务函数里面
6.void Send_Char(unsigned char Ch)     这个删掉,用TXBUF0=*P;替代就OK了
7,中断服务函数里面。
IRQ...(void)
{
TXBUF0=*p;
p++;
//然后清除标志位

}

大概就是这么个逻辑,
其实最简单的就是下载个官方历程来改吧

使用特权

评论回复
6
android2| | 2017-8-22 17:49 | 只看该作者
可不可以这样理解现在接收到一组数据,把接收到的数据装到一个数组里面,把这个数组里面的数据看成一个队列,可不可以在中断里面这样写
IE1|=UTXIE0;   //发送中断使能
/*#pragma vector=UART0TX_VECTOR
__interrupt void USART0_TXITQ(void)
{  
    TXBUF0=Rebuf[ReLenth];
     ReLenth++;
}

使用特权

评论回复
7
拉克丝| | 2017-8-22 18:42 | 只看该作者
是这个意思,但是不是简简单单几行代码就能搞定的

使用特权

评论回复
8
309030| | 2017-8-22 18:59 | 只看该作者
中断使能是要在发送函数和中断函数中同时控制的。
发送数据的时候,写好缓冲区然后使能发送中断。
中断里面,缓冲区为空的时候,就要禁止中断了。

使用特权

评论回复
9
lefeng| | 2017-8-22 19:14 | 只看该作者
反正大概的程序流程就是这样子的了,如果出现的错误的进入中断的,多半是开始的时候,根据标志位判断一下就OK了

使用特权

评论回复
10
lwsn| | 2017-8-22 19:23 | 只看该作者
ME1 = USPIE0;  和 ME1 |= USPIE0;  有什么区别
有些函数初始化写的是ME1 = USPIE0; 有得写的是 ME1 |= USPIE0;

使用特权

评论回复
11
Thor9| | 2017-8-22 20:20 | 只看该作者
就是直接赋值和置某些位的区别,后面的写法不改变其他的比特位。

使用特权

评论回复
12
eefas| | 2017-8-23 17:26 | 只看该作者
你必须在字符串后面加上结束符。

使用特权

评论回复
13
angerbird| | 2017-8-23 23:33 | 只看该作者
这样的发送效率不是很高的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

178

主题

865

帖子

5

粉丝