4918|11

7183

帖子

195

TA的资源

五彩晶圆(高级)

楼主
 

【玩转C2000 Launchpad】菜鸟C2000 LESSON12—SCI查询发送 [复制链接]

第一次听到SCI很陌生,翻了下手册才知道SCI
Theserialcommunicationsinterface (SCI) is a two−wire asynchronous serial port, commonly known as a UART.




一.void InitSci(void)
SciaRegs.SCICCR.all =0x0007;     // 1bit 停止位 无循环模式
                                             // 无极性,  字符长度:8 bits
                                            // 异步模式,空闲线协议
SciaRegs.SCIHBAUD = 0x0000;    // 波特率:9600(LSPCLK = 15MHz 是主时钟的4分频);
SciaRegs.SCILBAUD = 0x00C2;
SciaRegs.SCICTL1.bit.RXENA=1;
SciaRegs.SCICTL1.bit.TXENA=1;
SciaRegs.SCICTL1.bit.SWRESET=1;
数据格式:1位停止位,8位数据位,无奇偶校验,空闲协议

SCI控制寄存器:

TXENA RXENA设为1
发射器接收器使能(必定需要)
SW RESET的详细讲解

波特率:

由于系统时钟为60MHZ。LSPCLK = 15MHz 是主时钟的4分频

二:InitSciaGpio();
   GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1;   // Configure GPIO28 for SCIRXDA operation
GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1;   // Configure GPIO29 for SCITXDA operation
三:程序
查询方式发送字符

if(SciaRegs.SCICTL2.bit.TXRDY == 1)
       {
            if(table != '\0')
               {  SciaRegs.SCITXBUF=table;
                   i++;
               }
            else
            { i=0;}
       }
四:实验现象


最新回复

工程在单位,单位电脑都加密了,带不出来,改天我自己在家里调一下上传  详情 回复 发表于 2013-1-24 23:02
 
点赞 关注

回复
举报

1万

帖子

28

TA的资源

裸片初长成(高级)

沙发
 
楼主搞一下中断接收。我搞了一半扔那儿了,没时间。
希望看到楼主的大作

点评

我搞了两个下午没成功 版主 不知道咋回事 看了手把手教你学DSPTMS3202812的那本书 也不成功 用中断的 觉得不应该啊  详情 回复 发表于 2013-1-21 23:31
 
 

回复

7183

帖子

195

TA的资源

五彩晶圆(高级)

板凳
 

回复 沙发 dontium 的帖子

我搞了两个下午没成功 版主 不知道咋回事 看了手把手教你学DSPTMS3202812的那本书 也不成功 用中断的 觉得不应该啊

点评

我也搞了两天,接收时,不知道用哪个标志好。按照手册上的说明设置了几个标志也不行,有的干脆一直中断,后来没有再搞了。  详情 回复 发表于 2013-1-22 11:53
 
 
 

回复

1万

帖子

28

TA的资源

裸片初长成(高级)

4
 

回复 板凳 常见泽1 的帖子

我也搞了两天,接收时,不知道用哪个标志好。按照手册上的说明设置了几个标志也不行,有的干脆一直中断,后来没有再搞了。

点评

楼上两位别吓我啊!我最近也要弄这个,为了兼容以前的产品,最好能用中断。:Sweat: 对了,今天调28027的SCI时发现例子里的代码波特率不对,误差太大。例子里9600波特率的宏定义的值是192,我拿示波器看着调了一下  详情 回复 发表于 2013-1-22 20:23
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

5
 

回复 4楼 dontium 的帖子

楼上两位别吓我啊!我最近也要弄这个,为了兼容以前的产品,最好能用中断。
对了,今天调28027的SCI时发现例子里的代码波特率不对,误差太大。例子里9600波特率的宏定义的值是192,我拿示波器看着调了一下,直到160左右才合适。

点评

手册里说有偏差 偏差这么大啊 发送中断可以用 发送接收都用中断没调出来  详情 回复 发表于 2013-1-22 21:53
接收中断调好了教教大家哈  详情 回复 发表于 2013-1-22 21:17
 
 
 

回复

2606

帖子

0

TA的资源

五彩晶圆(初级)

6
 
贴子上不是出来了吗?中断进去后,别忘记出来时,做好下次再进去的准备。
 
个人签名工程 = 数学+物理+经济
 
 

回复

1万

帖子

28

TA的资源

裸片初长成(高级)

7
 
原帖由 jishuaihu 于 2013-1-22 20:23 发表
楼上两位别吓我啊!我最近也要弄这个,为了兼容以前的产品,最好能用中断。
对了,今天调28027的SCI时发现例子里的代码波特率不对,误差太大。例子里9600波特率的宏定义的值是192,我拿示波器看着调了一下, ...
接收中断调好了教教大家哈
 
 
 

回复

7183

帖子

195

TA的资源

五彩晶圆(高级)

8
 

回复 5楼 jishuaihu 的帖子

手册里说有偏差 偏差这么大啊
发送中断可以用
发送接收都用中断没调出来

点评

我也没想到偏差这么大,9600的波特率应该是一个字符104us,用示波器看大概有125us。你发的图片看来是没问题,有可能是器件之间的差异吧,我试的最大的值是170.,最小的是154!  详情 回复 发表于 2013-1-22 22:32
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

9
 

回复 8楼 常见泽1 的帖子

我也没想到偏差这么大,9600的波特率应该是一个字符104us,用示波器看大概有125us。你发的图片看来是没问题,有可能是器件之间的差异吧,我试的最大的值是170.,最小的是154!
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

10
 
今天把lauchpad的SCI中断方式跳出来了,没有使能FIFO,SCI的配置如下
void Init_SCI()
{

    CLK_enableSciaClock(myClk);

    // 1 stop bit,  No loopback
    // No parity,8 char bits,
    // async mode, idle-line protocol
    SCI_disableParity(mySci);
    SCI_setNumStopBits(mySci, SCI_NumStopBits_One);
    SCI_setCharLength(mySci, SCI_CharLength_8_Bits);

    SCI_enableTx(mySci);
    SCI_enableRx(mySci);
    SCI_enableTxInt(mySci);
    SCI_enableRxInt(mySci);

   // SCI_enableLoopBack(mySci);

    // SCI BRR = LSPCLK/(SCI BAUDx8) - 1
    SCI_setBaudRate(mySci, SCI_BaudRate_9_6_kBaud);//154----170

#if (CPU_FRQ_50MHZ)
    SCI_setBaudRate(mySci, SCI_BaudRate_9_6_kBaud);
#elif (CPU_FRQ_40MHZ)
    SCI_setBaudRate(mySci, (SCI_BaudRate_e)129);
#endif

    SCI_enable(mySci);

    return;
}
然后分别使能了接受和发送中断,就OK了。搞了多半天吧,用TI的例子编译不过去,有两个函数没找到原型,就没再试。
用SCI发送中断的时候得先在中断外面触发(我这么叫的,不知道合适不合适)一下,也就是想发送的时候先发送一个数据,然后才会进发送中断

点评

geili给力 求工程 看看和我的函数有什么却别  详情 回复 发表于 2013-1-24 16:13
 
 
 

回复

7183

帖子

195

TA的资源

五彩晶圆(高级)

11
 

回复 10楼 jishuaihu 的帖子

geili给力 求工程 看看和我的函数有什么却别

点评

工程在单位,单位电脑都加密了,带不出来,改天我自己在家里调一下上传  详情 回复 发表于 2013-1-24 23:02
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

12
 

回复 11楼 常见泽1 的帖子

工程在单位,单位电脑都加密了,带不出来,改天我自己在家里调一下上传
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表