完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
[tr] 最近在做基于NDK_TCP_Client例程,实现接收和读取指令的功能,并将接收和读取独立出来,其中接收指令使用for(;;)一直循环接收,读取指令是使用软件中断创建swi,设定每过一段时间定时读取一次,读取和接收的函数都已经写好。但是根据例程和教学视频模仿创建swi之后,编译器会报错。代码如下:
int main() { // 创建一个信号量 sem = Semaphore_create(0, NULL, NULL); // 平台初始化 PlatformInit(); Task_create(taskMain,NULL,NULL); // 启动 SYS/BIOS 系统 BIOS_start(); } void taskMain(UArg a0 ,UArg a1) { Swi_Handle swi0; Swi_Params swiParams; Swi_Params_init(&swiParams); // 两个参数 swiParams.arg0 = 2; swiParams.arg1 = 0; // 优先级 swiParams.priority = 5; // 触发 swiParams.trigger = 1; swi0 = Swi_create(read_data, &swiParams, NULL); } void swi_publish(UArg arg) { if(h == 1) { Swi_andn(swi0,1); } } 系统报错如下: error #148: declaration is incompatible with "const ti_sy***ios_knl_Swi_Handle swi0" (declared at line 17 of "C:/Users/Admin/workspace_v5_5/myproject/NDK_TCP_Client_ok/Debug/configPkg/package/cfg/app_pe66.h") 应该是声明不符合。 请问大家我这里是哪里出问题了。请大家多多指教。谢谢! [/tr] |
|
相关推荐
7个回答
|
|
|
|
|
|
|
|
|
Void read_data(UArg a0, UArg a1) { p = memchr(Data1+out,'@',2); if(p){ p1 = memchr(Data1+out,'#',40); if(p1){ p2 = (char *)p1-(char *)p-1; memset(bufs1,NULL,sizeof(bufs1)); memmove(bufs1,Data1+1+out,p2); memset(Data1+out,NULL,p2+2); out = out+p2+2; }else{ //@之后找不到# } }else{ out = 0; } if(((pianyi + pBuflen >= out)&&(pianyi< out))||((curent_bufs_len > (max-pianyi)) && (curent_bufs_len >out) ) ) //缓冲区已满 { pBuf2 = "环形缓冲区已满,请暂停发送"; send(s, pBuf2, 30, 0 ); //hold = -1; } // 回传接受到的数据 if(send(s, bufs1,p2 , 0 ) < 0) { return; } //send(s, bufs1, p2, 0 ); //Task_sleep(100); // 100表示系统时钟计数 } 实际上就是一个判断开头为@结尾为#的,就把中间的截取出来作为一个buf1 send回来。 |
|
|
|
|
|
|
|
|
|
|
|
我是想完成一个以太网通讯,基于NDK_TCP_Client例程,接收数据用一个无条件的for(;;)循环一直准备接收,读取数据用创建一个task,在task中发布一个软件中断swi,然后每10000个时间周期就读取一次,抢占掉接收数据的for(;;)循环,执行完read_data函数之后sleep,然后回到for(;;)里继续接收数据。但是实际测试的时候,似乎不是这个样子的。所以我想问一下,我这个大方向上或者逻辑上是不是出现了问题。 读取接收用的是同一个 Socket 还是两个? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
【创龙TLT113-MiniEVM开发板试用体验】相关开发过程的体验,以及与毫米波雷达的联调
925 浏览 0 评论
【创龙TL3562-MiniEVM开发板试用体验】--MQTT通讯
926 浏览 0 评论
【创龙TL3562-MiniEVM开发板试用体验】问题4 ubuntu镜像,opencv不能正常工作??
1012 浏览 0 评论
【创龙TL3562-MiniEVM开发板试用体验】10、 Qt实现ADC采集显示和内部温度曲线监控
1461 浏览 0 评论
【创龙TLT113-MiniEVM开发板试用体验】U盘读写速度测试教程
1831 浏览 0 评论
【创龙TL3562-MiniEVM开发板试用体验】问题1 更换到Ubuntu镜像后,USB识别不了外设
471浏览 1评论
【创龙TL3562-MiniEVM开发板试用体验】1、从系统启动卡制作开始
721浏览 1评论
【创龙TL3562-MiniEVM开发板试用体验】Grove移植4之BUTTON
326浏览 0评论
【创龙TL3562-MiniEVM开发板试用体验】--开发板外设与接口测试
813浏览 0评论
1128浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 00:28 , Processed in 1.054275 second(s), Total 86, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4626