霸气侧漏 发表于 2016-8-12 10:27:10

怎么用vs2010用C来写程序,做界面,做逻辑仿真

本帖最后由 霸气侧漏 于 2016-8-12 10:28 编辑

想用vs2010用C来写程序,做界面,做逻辑仿真,这样就能做很多事情,单片机的程序直接在电脑上运行,没问题了,在移植到单片机,这样工作就很快,也很方便。
如果VS2010能用C来做这些,那么可以把程序里的逻辑部分放在电脑上,测试好了在放到单片机里面去运行,多好,谁有这方面的资料么?给个连接和资料,嘿嘿


前阵子看见,有个高手用VC++6.0写了一个12864的模拟器,我也想做一个,不知道要怎么入手。

0123456789 发表于 2016-8-12 10:31:59

也想知道如何做

霸气侧漏 发表于 2016-8-12 10:35:03

0123456789 发表于 2016-8-12 10:31
也想知道如何做

那就把这个帖子顶起来,哈哈

RAMILE 发表于 2016-8-12 10:37:19

软件渣帮顶

creep 发表于 2016-8-12 10:39:42

逻辑算法应该可以,但是一些单片机的外设什么的不好在电脑上去模拟吧。

霸气侧漏 发表于 2016-8-12 10:43:48

creep 发表于 2016-8-12 10:39
逻辑算法应该可以,但是一些单片机的外设什么的不好在电脑上去模拟吧。

外设理论上也是可以的,也有一些人已经做出来,只是没有共享而已。我
只想做逻辑仿真,这样一套C程序,可以在多个地方运行,嘿嘿

redroof 发表于 2016-8-12 11:01:15

不稀奇啊,我大学时候就做过液晶界面的模拟器。其实无非是模拟一个底层而已。单片机的底层和电脑程序的底层是不一样的,但是对上层提高相同的接口就行。
怎么读按键,怎么写显示,怎么发送通讯命令,怎么接收通讯命令,这些文件实际上是有两份的,一份给电脑用,一份给单片机用。
至于应用程序上层的代码,确实就可以完全一样了。
万一应用程序里面还有某些不一样的地方,因为我用BCB,这些地方用#ifdef __BORLANDC__   #endif隔开就行了。单片机编译器会忽略这些。{:lol:}

霸气侧漏 发表于 2016-8-12 11:02:40

redroof 发表于 2016-8-12 11:01
不稀奇啊,我大学时候就做过液晶界面的模拟器。其实无非是模拟一个底层而已。单片机的底层和电脑程序的底层 ...

给点资料先,大神

redroof 发表于 2016-8-12 11:19:18


这是仿真程序在电脑上运行的效果{:lol:}
界面上的颜色都是专门挑过的,效果跟实物基本上一样
我的毕业论文里面程序界面的抓图都不是照片,而是仿真器里面直接输出的~

redroof 发表于 2016-8-12 11:29:41

核心的显示部分,我贴一点头文件:

#ifdef __BORLANDC__
#include <Graphics.hpp>
#include "uSimEL.H"
extern TColor* g_bmline[];
extern TColor ColorTab;//单片机的颜色是4位的索引色,这是电脑的调色板
inlinevoid setPT(UI x,UI y,UI col)
{
    g_bmline=ColorTab;
}
inlineUI getPT(UI x,UI y,UI col)
{
int x32,x4;
x32=g_bmline;
for(int x=0;x<16;x++)
    if(x32==ColorTab)return x;
    return 0;
}
void InitSimEL(){//仿真的显存,是个内存bmp对象,数据每一行都用ScanLine取出来,方便单独访问每一行。
    g_bmp=new(Graphics::TBitmap);
    g_bmp->Width=640;
    g_bmp->Height=480;
    g_bmp->PixelFormat=pf32bit;
    g_bmp->Canvas->Brush->Color=clBlue;
    g_bmp->Canvas->FillRect(Rect(0,0,640,480));
    g_cva=Form1->pbx1->Canvas;
    for(int i=0;i<480;i++)
    {
      g_bmline=(TColor*)g_bmp->ScanLine;
    }
}
#define BEGIN_PAINT()
inline voidEND_PAINT()
{
    Form1->pbx1->Refresh();
}
#endif
#ifdef __TMS320C28XX__
void filldata(UI *p,unsigned int len,UI data);
extern UI* framebuffer;
inline void setPT(UI x,UI y,UI col)
{
    framebuffer[((UL)y)*640L+x]=col;
}
inline UI getPT(UI x,UI y,UI col)
{
    return framebuffer[((UL)y)*640L+x];
}
extern void FillScr(UI col);
extern void          BEGIN_PAINT();

#endif

redroof 发表于 2016-8-12 11:34:10

说白了就是把单片机跟电脑仿真器里面不同的底层东西都抽象出来,分别实现两份。
这样应用程序就可以共享同一份了。
比如我这个系统里面,显示的抽象就在读写单个像素点的层次,而触摸屏的抽象是按下某个坐标和释放某个坐标。


mcu_lover 发表于 2016-8-12 11:45:19

http://www.amobbs.com/forum.php?mod=redirect&goto=findpost&ptid=5603749&pid=8127570
http://www.amobbs.com/thread-5605403-1-1.html

看我所有回复过的帖子,讲的非常多。剩下的靠你自己拉。

huangqi412 发表于 2016-8-12 11:56:43

论坛好像有液晶模拟器

霸气侧漏 发表于 2016-8-12 11:58:17

mcu_lover 发表于 2016-8-12 11:45
http://www.amobbs.com/forum.php?mod=redirect&goto=findpost&ptid=5603749&pid=8127570
http://www.amobb ...

哈哈,刚刚在找您的帖子,没找到,

霸气侧漏 发表于 2016-8-12 12:01:30

redroof 发表于 2016-8-12 11:19
这是仿真程序在电脑上运行的效果
界面上的颜色都是专门挑过的,效果跟实物基本上一样
我的毕业论文 ...

来点资料才是,

redroof 发表于 2016-8-12 12:22:02

霸气侧漏 发表于 2016-8-12 12:01
来点资料才是,

资料给你也没意义啊
程序都是跟你硬件相关的。我列出了一点头文件告诉你该怎么做就行了。
如果你用BCB,那么界面仿真的核心该怎么做我已经给你说了。我那个方法就是在Windows上像素级别性能最好的仿真方法了,缺点是写完数据要执行一下END_PAINT()函数来真正刷新数据到屏幕(虽然你的单片机并不需要END_PAINT{:lol:})
或者另一个方法是在Timer里面定时刷新内存缓冲到屏幕。这样消耗CPU比较高,10年前的CPU处理不过来,屏幕会闪烁。如果现在我写,就会不管三七二十一永远不停的刷新显示了,即使吃光一个CPU也无所谓。

有了共用的底层函数,上层该怎么做都是你自己的事,别人也帮不了你。

霸气侧漏 发表于 2016-8-12 12:28:12

redroof 发表于 2016-8-12 12:22
资料给你也没意义啊
程序都是跟你硬件相关的。我列出了一点头文件告诉你该怎么做就行了。
如果你用BCB, ...

说的也是,谢谢了,哈哈

lovecxm 发表于 2016-8-12 12:30:27

有用过vb吗?知道啥叫面向对象吗?推荐c#

redroof 发表于 2016-8-12 12:34:37

霸气侧漏 发表于 2016-8-12 12:28
说的也是,谢谢了,哈哈

说实话,如果为了写界面,强烈建议BCB,而不是VC
这样可以节约你非常多的脑细胞{:titter:}
BCB几分钟就可以作出一个可以运行的界面,也基本上不牺牲底层性能。放个绘图框很快就可以开始干正事了{:titter:}
VC写一个框架都得花你非常多的时间,完全犯不着。你仅仅是为了要一个C代码的仿真界面而已

redroof 发表于 2016-8-12 12:38:49

lovecxm 发表于 2016-8-12 12:30
有用过vb吗?知道啥叫面向对象吗?推荐c#

C#并不能完全兼容所有合法的C程序,所以没办法作为单片机C的仿真环境用。
虽然看起来很多C程序作为C#也合法{:titter:}

霸气侧漏 发表于 2016-8-12 13:27:11

redroof 发表于 2016-8-12 12:34
说实话,如果为了写界面,强烈建议BCB,而不是VC
这样可以节约你非常多的脑细胞
BCB几分钟就 ...

BCB就是C++Build把,这个没有用过,做界面我觉得C#挺好的。


如果我只是简单的用来给单片机程序运行用,用C开发的话,用什么软件比较好,用来做单片机的逻辑处理

redroof 发表于 2016-8-12 13:54:52

霸气侧漏 发表于 2016-8-12 13:27
BCB就是C++Build把,这个没有用过,做界面我觉得C#挺好的。




我说了作为C代码的仿真环境,最好的就是C++Builder
C#做界面也很好,但对你没用啊。用它做的界面框架,又不能直接把你单片机的运行代码放进去测试{:lol:}
只有C++才能完全兼容所有的C程序,单片机里面所有的跟硬件无关的代码都可以放进去调试。
目前Windows上可选的C++环境也就是C++Builder或者VC了

霸气侧漏 发表于 2016-8-12 14:03:10

redroof 发表于 2016-8-12 13:54
我说了作为C代码的仿真环境,最好的就是C++Builder
C#做界面也很好,但对你没用啊。用它做的界面框架,又 ...

VC2010也可以跑C++代码的

redroof 发表于 2016-8-12 14:10:57

霸气侧漏 发表于 2016-8-12 14:03
VC2010也可以跑C++代码的

我说了多次了,常见的就VC和BCB可以完整的跑C代码,无需任何改动。
但是VC做界面仿真程序远比BCB费事的多。 不信可以对比一下我的仿真代码和上面有个用VC做界面仿真的人的代码量多少就知道了
(不比较单片机的工作代码啊,工作代码的多少是跟应用有关的。只需要比较为了仿真界面而写的额外代码){:titter:}
就这样,我不用多说了。

霸气侧漏 发表于 2016-8-12 14:20:39

redroof 发表于 2016-8-12 14:10
我说了多次了,常见的就VC和BCB可以完整的跑C代码,无需任何改动。
但是VC做界面仿真程序远比BCB费事的多 ...

哈哈,知道你的意思了

redroof 发表于 2016-8-12 14:32:21

霸气侧漏 发表于 2016-8-12 14:20
哈哈,知道你的意思了

如果你用BCB,只要你给出你的显示和输入的底层接口,我可以10分钟个你画个仿真界面发上来{:titter:}

霸气侧漏 发表于 2016-8-12 15:03:14

redroof 发表于 2016-8-12 14:32
如果你用BCB,只要你给出你的显示和输入的底层接口,我可以10分钟个你画个仿真界面发上来
...

这么厉害,那你弄个呗,吼吼

redroof 发表于 2016-8-12 15:06:03

本帖最后由 redroof 于 2016-8-12 15:08 编辑

霸气侧漏 发表于 2016-8-12 15:03
这么厉害,那你弄个呗,吼吼

你给出底层接口,还有告诉我底层的显存结构。
输入用什么?固定的几个按钮吗?
尽量说清楚你的底层的结构,因为上层的仿真跟底层结构有关。
说的越详细越好。

霸气侧漏 发表于 2016-8-12 15:19:03

redroof 发表于 2016-8-12 15:06
你给出底层接口,还有告诉我底层的显存结构。
输入用什么?固定的几个按钮吗?
尽量说清楚你的底层的结构 ...

哈哈,还没有想清楚

redroof 发表于 2016-8-12 15:29:04

霸气侧漏 发表于 2016-8-12 15:19
哈哈,还没有想清楚

呵呵,那不是白说了{:lol:}
硬件实际有几个按键,仿真程序也会有几个对应的按键。
硬件的显示接口是按像素按行存放,还是8位一个列然后按行存放,或者是其他什么奇怪的存放方式,那么仿真器里面的仿真显存也得是相同的排列方式。
我当年的显存是挂在一个CPLD上的,想写显存得先关掉CPLD里面的刷屏逻辑,然后才能得到显存的控制权。所以就有一个BEGIN_PAINT()和对应的END_PAINT()函数。
呵呵,仿真器里面并不需要获取显存控制权直接就可以写,但是这个函数照样留着只是内容为空。

redroof 发表于 2016-8-12 16:44:44

我发了一个示例程序代码,你可以看看
http://www.amobbs.com/thread-5657535-1-1.html

霸气侧漏 发表于 2016-8-12 16:45:58

redroof 发表于 2016-8-12 16:44
我发了一个示例程序代码,你可以看看
http://www.amobbs.com/thread-5657535-1-1.html

哈哈,谢谢了,威武啊

huangqi412 发表于 2016-8-12 21:35:09

redroof 发表于 2016-8-12 13:54
我说了作为C代码的仿真环境,最好的就是C++Builder
C#做界面也很好,但对你没用啊。用它做的界面框架,又 ...

c#做界面跟这个bcb比呢

ijlc1314 发表于 2016-8-12 21:41:21

Proteus 值得拥有

redroof 发表于 2016-8-12 21:54:36

本帖最后由 redroof 于 2016-8-12 22:01 编辑

huangqi412 发表于 2016-8-12 21:35
c#做界面跟这个bcb比呢

Windows上最好的做界面的工具当然是c#,如果你不嫌装.net库麻烦。
第二好的是delphi/bcb,缺点是现在已经有点过气了。
第三好的是老vb(非.net里面那个),非常方便不用装多的什么库,但很弱。
如果不是专业的老派程序员,你就没有第四种方法可选。
不用提vc的mfc,我黑定mfc了,不服来辩…

霸气侧漏 发表于 2016-8-12 21:54:42

huangqi412 发表于 2016-8-12 21:35
c#做界面跟这个bcb比呢

C#做界面很容易,至于那个更好,我没用过BCB。或许都一样吧,工具而已,

redroof 发表于 2016-8-12 21:59:48

霸气侧漏 发表于 2016-8-12 21:54
C#做界面很容易,至于那个更好,我没用过BCB。或许都一样吧,工具而已,

如果不是不能用.net,就首选.net吧!
.net写程序比bcb更省心,更不容易犯错。除了不是原生代码这一点,还有容易被破解

redroof 发表于 2016-8-12 22:07:03

huangqi412 发表于 2016-8-12 21:35
c#做界面跟这个bcb比呢

我写过c#,但工作中一直用bcb。我也想永远不需要delete多好啊!
但xp一天不死绝我就一天不能用.net。不然你一个几兆的小工具要人家装那么大的.net库吗?不然别用了!
我可不敢这么干,宁愿自己麻烦一点。

霸气侧漏 发表于 2016-8-12 22:10:40

redroof 发表于 2016-8-12 22:07
我写过c#,但工作中一直用bcb。我也想永远不需要delete多好啊!
但xp一天不死绝我就一天不能用.net。不然 ...

xp一天不死绝我就一天不能用.net


多么痛苦的一件事情

redroof 发表于 2016-8-12 22:17:57

本帖最后由 redroof 于 2016-8-12 22:23 编辑

霸气侧漏 发表于 2016-8-12 22:10
xp一天不死绝我就一天不能用.net




事实就是这样。不止是我,非常多的人都是这样的。都知道.net画界面飞快,但是现在大部分程序照样不是.net写的。
如果用.net导致你经常得帮一些特殊的怪怪的精简版的xp去装.net库,你就知道了,还不如不用.net{:titter:}

霸气侧漏 发表于 2016-8-12 22:39:13

redroof 发表于 2016-8-12 22:17
事实就是这样。不止是我,非常多的人都是这样的。都知道.net画界面飞快,但是现在大部分程序照样不是.net ...

我们公司用的是C#,问题还是蛮多的,win7win8win10下,或多或少都会有一点问题

bbs2009 发表于 2016-8-12 22:41:12

redroof 发表于 2016-8-12 22:51:53

bbs2009 发表于 2016-8-12 22:41
但xp一天不死绝我就一天不能用.net。不然你一个几兆的小工具要人家装那么大的.net库吗?不然别用了!
--- ...

新bcb的64位编译器真不错,优化能力非常好,终于跟vc编译器的优化能力拉平了!
为这都值得升级。之前有大量复杂计算的代码我宁愿用vc写成dll。bcb32编译器的优化能力比vc差好几倍呢!
别用bcb6了,真的太老了!

redroof 发表于 2016-8-12 22:55:47

bbs2009 发表于 2016-8-12 22:41
但xp一天不死绝我就一天不能用.net。不然你一个几兆的小工具要人家装那么大的.net库吗?不然别用了!
--- ...

我的很多bcb6老代码升到xe以后都是能用的,改动很小。就算用新的64位编译器,改动同样很小。完全可以升级的。
Delphi代码当年升Unicode改动倒还有点大,主要是控件,基本只能等作者来改

bbs2009 发表于 2016-8-12 23:24:06

czg1411 发表于 2016-8-13 00:01:09

我用cfree显示、按键、存储、串口、时钟。。。都可以用

霸气侧漏 发表于 2016-8-13 00:07:41

czg1411 发表于 2016-8-13 00:01
我用cfree显示、按键、存储、串口、时钟。。。都可以用

Cfree做显示方便不?

czg1411 发表于 2016-8-13 00:20:42

霸气侧漏 发表于 2016-8-13 00:07
Cfree做显示方便不?

很方便,我做彩屏就是用这个模拟。不过编辑代码没有VS好。

czg1411 发表于 2016-8-13 00:40:51

电脑上模拟比用单片机仿真方便多少,出了问题也好找些,我只有驱动才用mdk调试。应用都是电脑模拟测试,然后才到单片机测试。

霸气侧漏 发表于 2016-8-13 06:56:05

czg1411 发表于 2016-8-13 00:40
电脑上模拟比用单片机仿真方便多少,出了问题也好找些,我只有驱动才用mdk调试。应用都是电脑模拟测试,然 ...

传个历程呗,哈哈

farmerzhangdl 发表于 2016-8-13 08:37:46

觉得好闲。。。要不要这么麻烦

redroof 发表于 2016-8-13 08:41:33

bbs2009 发表于 2016-8-12 23:24
请推荐 一个 C++Builder   xe 版本。

Xe已经不好找了,都八九年了。直接用最新的吧。

redroof 发表于 2016-8-13 09:44:24

看看我那个BCB的模拟框架程序总共才多少行代码{:titter:}
别的还有什么工具可以用更少的代码写出来吗??
有的话可以发出来给大家看看{:lol:}
写东西要考虑性价比啊,明明可以用很少的代码轻轻松松写出来,为啥要让自己多费时间多费力气呢~

bbs2009 发表于 2016-8-13 10:36:45

bbs2009 发表于 2016-8-13 10:42:52

redroof 发表于 2016-8-13 10:50:39

bbs2009 发表于 2016-8-13 10:42
用 BCB做 单片机C 的仿真 ,咱也做过。
新手注意一点MCU 数据类型 和BCB数据类型 有差异 , 例如 5 ...

别用标准的int这种东西,自己定义有符号/无符号/16位/32位这几种公共类型就行了。

据我所知,对电脑和所有常见单片机,short都是16位,long都是32位,因此以下定义都是相同的:

typedef unsigned short UI;//无符号16位
typedef unsigned longUL;//无符号32位
typedef short SI;//有符号16位
typedef long SL;//有符号32位

霸气侧漏 发表于 2016-8-13 10:58:44

redroof 发表于 2016-8-13 10:50
别用标准的int这种东西,自己定义有符号/无符号/16位/32位这几种公共类型就行了。

据我所知,对电脑和所 ...

我下了这个delphicbuilder_2010_3615_win,安装失败,搞了好几遍,

霸气侧漏 发表于 2016-8-13 11:02:36

redroof 发表于 2016-8-13 10:50
别用标准的int这种东西,自己定义有符号/无符号/16位/32位这几种公共类型就行了。

据我所知,对电脑和所 ...

推荐一个连接倍,

redroof 发表于 2016-8-13 11:08:57

霸气侧漏 发表于 2016-8-13 11:02
推荐一个连接倍,

从XE起的随便一个版本都行,
如果XE不行就找XE2吧,例如这个官方版加上破解:http://www.cnblogs.com/tc310/archive/2012/08/30/2663461.html   破解是个jpg文件改名rar解开就行了
或者这个:http://www.xpgod.com/soft/22259.html
反正越新的版本越大,我手上的XE10安装文件都7G多了~

霸气侧漏 发表于 2016-8-13 11:09:57

redroof 发表于 2016-8-13 11:08
从XE起的随便一个版本都行,
如果XE不行就找XE2吧,例如这个官方版加上破解:http://www.cnblogs.com/tc3 ...

体积还蛮大的,vc2010也挺大的

霸气侧漏 发表于 2016-8-13 11:11:16

redroof 发表于 2016-8-13 11:08
从XE起的随便一个版本都行,
如果XE不行就找XE2吧,例如这个官方版加上破解:http://www.cnblogs.com/tc3 ...

正在下载2G多,2M的下载速度,嘿嘿

czg1411 发表于 2016-8-13 11:32:29

霸气侧漏 发表于 2016-8-13 06:56
传个历程呗,哈哈

建个opengl的工程就有显示的

kinsno 发表于 2016-8-13 11:53:17

czg1411 发表于 2016-8-13 11:32
建个opengl的工程就有显示的

那能不能这样子:

比如,我做好一个板子,有多少资源。。。然后再写一个同样配置的上位机模拟环境。。。以后,只要硬件不动,我就可以永远用这个上位机模拟环境来写单片机代码? 是这个意思吗?




霸气侧漏 发表于 2016-8-13 11:56:00

kinsno 发表于 2016-8-13 11:53
那能不能这样子:

比如,我做好一个板子,有多少资源。。。然后再写一个同样配置的上位机模拟环境。。。 ...

理论上是可以的

kinsno 发表于 2016-8-13 11:56:18

redroof 发表于 2016-8-13 09:44
看看我那个BCB的模拟框架程序总共才多少行代码
别的还有什么工具可以用更少的代码写出来吗??
...

用你这个BCB可以做以下效果吗?
比如,我做好一个板子,有多少资源。。。然后再写一个同样配置的上位机模拟环境。。。以后,只要硬件不动,我就可以永远用这个上位机模拟环境来写单片机代码? 如果真能这样子,就爽了。。



kinsno 发表于 2016-8-13 11:57:46

霸气侧漏 发表于 2016-8-13 11:56
理论上是可以的

如果真这样子可行的话,那以后能省很多事。。。不需要扛着硬件板子跑来跑去,直接就上模拟程序了。。。方便快捷。。。

kxhui88 发表于 2016-8-13 11:59:01

本帖最后由 kxhui88 于 2016-8-13 12:00 编辑

WIN32 OSD模拟器, 支持16色,256色, 支持动态背景叠加, 成功运行到设备上面。{:lol:}

霸气侧漏 发表于 2016-8-13 11:59:30

kinsno 发表于 2016-8-13 11:57
如果真这样子可行的话,那以后能省很多事。。。不需要扛着硬件板子跑来跑去,直接就上模拟程序了。。。方 ...

是可以做到的,只是有一些功能是无法一比一的模拟,比如pwm等等。

霸气侧漏 发表于 2016-8-13 12:00:13

kxhui88 发表于 2016-8-13 11:59
WIN32 OSD模拟器, 支持16色,256色, 成功运行到设备上面,

这个是你做的?来点资料先

redroof 发表于 2016-8-13 12:02:05

kinsno 发表于 2016-8-13 11:56
用你这个BCB可以做以下效果吗?
比如,我做好一个板子,有多少资源。。。然后再写一个同样配置的上位机模 ...

当然可以啊,我发出来那个测试程序就是当年给DSP做界面仿真用的。
真机调试得下载一大堆图片资源,放在RAM里调试根本就不够只能烧写Flash调试,烦死了,所以我才写了个电脑的仿真框架。
问题是你仿界面操作很容易,但是仿串口通讯什么的,时序上就不是很好搞,电脑的响应实时性其实远远低于单片机。某些实时性高的地方,还是只能用真机测试。
但为了测试界面效果,在电脑上仿真比真机简单多了~
相信写界面的时间明显多于实际的工作核心~

霸气侧漏 发表于 2016-8-13 12:05:40

redroof 发表于 2016-8-13 12:02
当然可以啊,我发出来那个测试程序就是当年给DSP做界面仿真用的。
真机调试得下载一大堆图片资源,放在RA ...

弄界面用pc仿真这个有很大的优势,所以一般的触摸屏的组态软件,都可以软件仿真

kxhui88 发表于 2016-8-13 12:06:46

本帖最后由 kxhui88 于 2016-8-13 12:08 编辑

霸气侧漏 发表于 2016-8-13 12:00
这个是你做的?来点资料先

最新研究win10 下面的Linux,就做了一个 SDL 1.2 版本的 demo,已经有OSD叠加部分。

kinsno 发表于 2016-8-13 12:09:51

redroof 发表于 2016-8-13 12:02
当然可以啊,我发出来那个测试程序就是当年给DSP做界面仿真用的。
真机调试得下载一大堆图片资源,放在RA ...

其实是这样子的。。。我的设想是这样子的。底层的是另外一套。。。电脑上只写业务层。。。那么OK,会有相对应的,比如,输入的显示,输出的显示,屏幕显示汉字。。。至于串口啥的。。。那是另外一套东西了,可以弄点别的东西来配合。。。
这样一个硬件模拟环境搭好,只需要在电脑上写程序,然后运行,完全可以查出大部分业务层的问题或毛病,不需要扛着一个硬件搞来搞去。。。
PS:不晓得你方便不,能帮忙写一个这样的DEMO,硬件环境“1个按键,1个LED灯,和液晶屏12864”,运行后,效果就是“按一下按键,LED灯亮,液晶屏显示“按键已触发””。。。



霸气侧漏 发表于 2016-8-13 12:13:39

kxhui88 发表于 2016-8-13 12:06
最新研究win10 下面的Linux,就做了一个 SDL 1.2 版本的 demo,已经有OSD叠加部分。 ...

貌似不错的样子

霸气侧漏 发表于 2016-8-13 12:15:17

kinsno 发表于 2016-8-13 12:09
其实是这样子的。。。我的设想是这样子的。底层的是另外一套。。。电脑上只写业务层。。。那么OK,会有相 ...


有相应的代码,

http://www.amobbs.com/thread-5657535-1-1.html

redroof 发表于 2016-8-13 12:15:44

kinsno 发表于 2016-8-13 12:09
其实是这样子的。。。我的设想是这样子的。底层的是另外一套。。。电脑上只写业务层。。。那么OK,会有相 ...

我上面有发了一个BCB写的代码框架就可以完成你的任务啊。现成的全部源码放在那里,无非是你再多加一个指示灯而已,画个圆形代表指示灯就行了。
你要是不用BCB我也没办法~

霸气侧漏 发表于 2016-8-13 12:23:07

redroof 发表于 2016-8-13 12:15
我上面有发了一个BCB写的代码框架就可以完成你的任务啊。现成的全部源码放在那里,无非是你再多加一个指 ...

话说你签名的链接,是你的公司的网站?

kinsno 发表于 2016-8-13 12:24:10

redroof 发表于 2016-8-13 12:15
我上面有发了一个BCB写的代码框架就可以完成你的任务啊。现成的全部源码放在那里,无非是你再多加一个指 ...

明白。。
那显示部分呢? 模拟液晶的,有什么样的控件吗?请指点。。。



redroof 发表于 2016-8-13 12:46:29

霸气侧漏 发表于 2016-8-13 12:23
话说你签名的链接,是你的公司的网站?

是我们公司,做工业远程控制的,plc短信报警,远程网页监控,有需要可以看看~

redroof 发表于 2016-8-13 12:52:57

kinsno 发表于 2016-8-13 12:24
明白。。
那显示部分呢? 模拟液晶的,有什么样的控件吗?请指点。。。



看代码就知道了。没啥特殊控件,就一个paint box
按像素往内存位图里写,然后刷到界面上就行了。太简单了!
如果你单片机的12864液晶还有其它连读连写什么的命令,你又没有显存每次直接写液晶,那就自己加几个高级一点的函数呗

kinsno 发表于 2016-8-13 12:59:28

redroof 发表于 2016-8-13 12:52
看代码就知道了。没啥特殊控件,就一个paint box
按像素往内存位图里写,然后刷到界面上就行了。太简单了 ...

好的,我也折腾去看看。。。


bbs2009 发表于 2016-8-13 18:44:37

页: [1]
查看完整版本: 怎么用vs2010用C来写程序,做界面,做逻辑仿真