迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1997|回复: 5

DWIN C Compliter 1.107 库T5L不兼容

[复制链接]

10

主题

84

回帖

798

积分

高级会员

Rank: 4

积分
798
发表于 2020-1-4 16:50:23 | 显示全部楼层 |阅读模式
本帖最后由 luozewei 于 2020-1-4 17:01 编辑

C还是比较好用的工具,比起汇编来,一个星期的C编程工作量,相当于汇编的2~3个月的工作量,而且后期修改也是C容易多了。今天测试了一下1.107 IDE发现,里面的函数根本和T5L对不上号。比如void write_dgus_vp(int dgus_vp,char *buf,int len)这个函数。意思是在VP指定的地址里面写数据。我在DGUS2里面设置了数字变量显示,float变量, 地址设置为5010; 然后用OS编程 void write_dgus_vp(0x5000,char *buf, int len)函数去加载,发现根本不起作用,而且写入flash后连串口2都封住了,再用DUGS2软件用串口2更新APP已经不能用了。这里面2个软件都是独立运行的。一不小心就造成地址重叠了。当时在DGUS2里面把数据指针修改为9010后烧入屏,重启后就黑屏了。这咋整啊。  为何不把OS编程和DGUS2封装在一起联合起来编译。这样地址不会重叠冲掉。

回复

使用道具 举报

0

主题

65

回帖

1155

积分

金牌会员

Rank: 6Rank: 6

积分
1155
发表于 2020-1-4 18:54:23 | 显示全部楼层
T5L 我们建议使用keilC 或者T5L的汇编,至于c编译器我们开始是为T5平台使用的,现在没有再进行更新,如何现在通过sd下载还有反应的话,建议先下载附件写的一个串口2支持DGUS协议的参考程序,可以用于这种情况恢复串口2的DGUS功能

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

10

主题

84

回帖

798

积分

高级会员

Rank: 4

积分
798
 楼主| 发表于 2020-1-4 23:08:31 | 显示全部楼层
本帖最后由 luozewei 于 2020-1-5 18:01 编辑
DWINHMI 发表于 2020-1-4 18:54
T5L 我们建议使用keilC 或者T5L的汇编,至于c编译器我们开始是为T5平台使用的,现在没有再进行更新,如何现 ...

谢谢楼主提供帮助,看了OS底层程序,对照T5L汇编指令集,看起来好像可以大大优化,或者我没理解汇编是否是伪指令集。 比如串口通信的收发,C底层是用中断诸字节收发。 看汇编指令里面有RDXDAT COMTXI 直接收发命令,我不清楚是不是宏指令。如果有直接硬件方式收发,那岂不是只要一条指令就可以完成了,大大降低了CUP的资源。T5L屏有UART4引出的,UART4是支持直接指令收发的。然而底层OS还是用。
void UART4_Sendbyte(u8 dat){
     SBUF2_TX = dat;   
     while((SCON2T&0x01)==0);
     SCON2T &=0xFE;  
}
这个很浪费资源的吧

再来看看UART2接收函数的汇编解释码。几乎是惨不忍睹,一条缓冲下标uart2_rx_count++; 居然用了12条指令。 当我把串口波特率改到3225600时,OS根本不响应了。这个接收缓冲完全可以用指针方式。我到想到另一个办法,接收的数据 去掉5AA5+字节数+读写+地址码后面的数据直接到UI寄存器
sfr DATA3        =        0xFA;
sfr DATA2        =        0xFB;
sfr DATA1        =        0xFC;
sfr DATA0        =        0xFD
这岂不是最直接的做法了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

10

主题

84

回帖

798

积分

高级会员

Rank: 4

积分
798
 楼主| 发表于 2020-1-5 18:30:01 | 显示全部楼层
本帖最后由 luozewei 于 2020-1-5 18:31 编辑

我们来对比一下串口接收C程序,原厂是用数组写的。我现在改成指针。对比编译后的汇编。明显减少了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

23

回帖

499

积分

中级会员

Rank: 3Rank: 3

积分
499
发表于 2020-6-23 15:18:05 | 显示全部楼层
楼主,你好,我遇到类似的问题,通过keil4编译下载bin可执行文件,升级完成之后发现我的dgus无法使用串口下载,想问问解决办法是???
回复

使用道具 举报

0

主题

220

回帖

2566

积分

金牌会员

Rank: 6Rank: 6

积分
2566
发表于 2020-6-23 15:49:48 | 显示全部楼层
guanhaocool 发表于 2020-6-23 15:18
楼主,你好,我遇到类似的问题,通过keil4编译下载bin可执行文件,升级完成之后发现我的dgus无法使用串口下 ...

您的程序里需要写一个串口2支持DGUS协议的程序进去,楼上回复的程序可以参考一下。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-4-15 02:56 , Processed in 0.046554 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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