查看: 5403|回复: 2

[CodeWarrior] cw10.3的PE配置K60的串口问题(已解决)

[复制链接]

该用户从未签到

3

主题

11

帖子

0

新手上路

Rank: 1

积分
30
最后登录
1970-1-1
发表于 2013-4-26 22:48:54 | 显示全部楼层 |阅读模式
本人在使用10.3版本的codewarrior时,发现非常方便,即使不知道K60的寄存器也可以编程,可是当用到串口时,发现PE生成的接口函数里的参数看不懂,如LDD_TError AS1_SendBlock(LDD_TDeviceData *DeviceDataPtr, LDD_TData *BufferPtr, uint16_t Size),这个是串口的发送函数,但是对其中的几个指针变量完全看不懂,也不知道该怎么设置,看他的英文注释看了半天还是弄不来,有没有朋友能解决我这个问题,比如说我要发送一个数据怎么办。谢谢!!!
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-4-27 14:09:09 | 显示全部楼层

RE:cw10.3的PE配置K60的串口问题(正解)

LDD_TDeviceData *DeviceDataPtr 是指要用到的串口设备;
LDD_TData *BufferPtr 是指需要传输数据的首地址;
uint16_t Size 是指需要传输的数据大小;
你可以通过下面的例程了解如何调用这个函数:
volatile bool DataReceivedFlg = FALSE;
char OutData[] = "Hello world";
char InpData[10];
LDD_TError Error;
LDD_TDeviceData *MySerialPtr;
void main(void)
{
. . .
MySerialPtr = AS1_Init(NULL); /* Initialization of AS1 component */
for(;;) {
Error = AS1_ReceiveBlock(MySerialPtr, InpData, 1U); /* Start reception of one character */
while (!DataReceivedFlg) { /* Wait until 'e' character is received */
}
if (InpData[0] == 'e') {
Error = AS1_SendBlock(MySerialPtr, OutData, sizeof(OutData)); /* Send block of characters */
}
DataReceivedFlg = FALSE;
}
}
祝顺利。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

11

帖子

0

新手上路

Rank: 1

积分
30
最后登录
1970-1-1
 楼主| 发表于 2013-4-27 23:12:00 | 显示全部楼层

回复:cw10.3的PE配置K60的串口问题

回复第 2 楼 于2013-04-27 22:09:09发表:
LDD_TDeviceData *DeviceDataPtr 是指要用到的串口设备;
LDD_TData *BufferPtr 是指需要传输数据的首地址;
uint16_t Size 是指需要传输的数据大小;
你可以通过下面的例程了解如何调用这个函数:
volatile bool DataReceivedFlg = FALSE;
char OutData[] = "Hello world";
char InpData[10];
LDD_TError Error;
LDD_TDeviceData *MySerialPtr;
void main(void)
{
. . .
MySerialPtr = AS1_Init(NULL); /* Initialization of AS1 component */
for(;;) {
Error = AS1_ReceiveBlock(MySerialPtr, InpData, 1U); /* Start reception of one character */
while (!DataReceivedFlg) { /* Wait until 'e' character is received */
}
if (InpData[0] == 'e') {
Error = AS1_SendBlock(MySerialPtr, OutData, sizeof(OutData)); /* Send block of characters */
}
DataReceivedFlg = FALSE;
}
}
祝顺利。 

太感谢了,我试试看,被这个问题纠结了好久!!1
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-7 01:09 , Processed in 0.086348 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表