-
set 环境变量 = 值 之后回车
这样设置应该没有问题吧
-
1、内存接触问题,拔下来擦一下,再插上去。
2、内存兼容性问题,换根内存试一下。
3、硬盘问题,有坏道。格式化一下目标盘。
-
CE5 换成了.CE6.EVC下写的程序用不了!只能换成VS了.
这是谁说的??? 用EVC一样可以开发CE6.0下的程序.
-
用2.0的还有中文资料看,有中文书籍.......
3.0的只有自己摸索了
-
《深入理解计算机系统(修订版)》
《Linux程序设计.第3版》
《深入理解LINUX内核(第二版)》
《LINUX设备驱动程序(第二版)》
-
对taskbar.cpp中关于软键盘的代码进行了屏蔽,并且在explorer.cpp代码中添加如下代码:
DWORD WINAPI CreateSip(LPVOID pEvent)
{
RETAILMSG(1,(L"012536\r\n"));
HANDLE hSyncEvent = *((HANDLE *) pEvent);
CSip *pSip = NULL;
CSip *g_Sip = NULL;
HWND hwndTB = NULL;
pSip = new CSip;
if(!pSip)
{
SetEvent(hSyncEvent);
return 0;
}
g_Sip = pSip;
if(!pSip->Register(g_hInstance))
{
g_Sip = NULL;
delete pSip;
SetEvent(hSyncEvent);
return 0;
}
//RegisterSip(pSip->GetWindow());
SetEvent(hSyncEvent);
DWORD dwRet = pSip->MessageLoop();
delete pSip;
RETAILMSG(1,(L"012568\r\n"));
return dwRet;
}
hSipSyncEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
if (!hSipSyncEvent)
{
goto Cleanup;
}
hThread = CreateThread(NULL, NULL, CreateSip, &hSipSyncEvent, 0, NULL);
WaitForSingleObject(hSipSyncEvent, INFINITE);
// GetExitCodeThread(); // Test for failure?
CloseHandle(hThread);
CloseHandle(hSipSyncEvent);
但是添加以上代码之后编译出来的模拟器界面上没有出现我想要的软键盘的图标,并且在我屏蔽了taskbar.cpp中的软键盘的代码之后,编译出来的模拟器界面上还存在软键盘的图标,不知道是怎么回事?还望高手赐教!
-
说说具体的情况
-
好贴 呵 LEOLIU00
-
引用 2 楼 twins222 的回复:
首先,你说你用vc6写了一个wince的程序,这个不对吧,vc6能写wince下的程序吗?
其次,如果是vc6下的一个程序,转到vs2005上的时候,我刚转过了,没有出现你说的toolbar位置变化了,我的这个位置还是在上方啊
红色的部分,我也很疑惑!建议楼主看看这贴子:
网址:送给关注WinCE社区的每个人:提问的智慧 - How To Ask Questions The Smart Way
-
高手指教
-
然后仅执行Build Current BSP and Subprojets,然后再重新下载最新的boot 和OS
这样应该就可以拉。
如果还不行,可以试试先:把你LCD驱动的当前子工程ReBuild下,然后执行Build Current BSP and Subprojets,
-
先贴一些程序,否则大家不好解答:
int main(void)
{
u8_t buf[MAX_READ_LEN + 1];
int len,pd;
sys_err err;
int * fd = NULL;
int *linkstateCx = NULL;
/*
*init basic parametes of ourselves
*/
GPIOInit(); //GPIO口初始化
sys_timer_init(); //系统时钟初始化
local_sys_init(); //这里面有串口的初始化,定时器的初始化等
lwip_init(); //lwip协议的初始化
DEBUG_EVENT("main()\r\n"); //DEBUG_EVENT是一个向串口输出提示信息的函数
/*
*start config GPRS Modem, such as HUAWEI GTM900, MC35i,etc.
*/
err = active_Modem(); //激活GPRS模块
if(err NEQ SYS_ERR_OK)
{
DEBUG_EVENT("Modem open failed! we must shut down system!\r\n");
shut_system();
}
DEBUG_EVENT("Modem open successful!\r\n");
DEBUG_EVENT("System block 30 seconds!\r\n");//等待30秒,等待SIM卡找到网络
/*
*wait for GPRS Modem serching network,
* initinalize: such as SMS, Telephone Book etc.
*/
second_sleep(30);
err = init_Modem(); //写一些基本的AT命令
if(err NEQ SYS_ERR_OK)
{
DEBUG_EVENT("Modem basic AT Commands initialize failed! we must shut down system\r\n");
shut_system();
}
DEBUG_EVENT("Modem basic AT Commands initialize successful!\r\n");
/*
*start Dial GPRS Number, such as: *99***1#
*/
start_tcpip: //start_tcpip是一个标号
err = dial_GPRS(); //拨ATD*99***1#
if(err NEQ SYS_ERR_OK)
{
DEBUG_EVENT("Dial GPRS Failed,we must shut down system!\r\n");
shut_system();
}
DEBUG_EVENT("Dial GPRS successful, now we start PPP Config!\r\n");
/*
*start config PPP,and send LCP packet to GPRS Modem
*/
pd = pppOpen((void*)fd, &pppStateCallback, (void *)linkstateCx);/*send lcp req to peer*/
while(1)
{
/*
*check if one timer is overflow, if so, run it
*/
check_sys_timer();
/*
*check the receive buffer of Modem
*/
if(get_modem_datalen() > 0)//如果modem收到信息
{
DEBUG_EVENT(" Receive some data from Modem:\r\n");
len = get_modem_data(buf); //接收下来
pppInProc(pd, buf, len); //进行处理
}
/*
*check the receive buffer of User Equipment
*/
if(get_user_datalen() > 0) //如果用户向modem发信息
{
DEBUG_EVENT("Receive some data from User Eqipment!\r\n");
len = get_user_data(buf);//接收下来
if(get_Mytcpip_state() EQ UDP_ESTABLISHED)//判断存在的是哪种连接
{
if( udp_write(buf, len) NEQ ERR_OK)
{
DEBUG_ERR("Send some data to UDP Peer, but failed!\r\n");
//add you code here.
//store the data
}
}
else if(get_Mytcpip_state() EQ TCP_ESTABLISHED))//判断存在的是哪种连接
{
if( tcp_write(tcp_active_pcbs, (const void *)buf, len, 1) NEQ ERR_OK)
{
DEBUG_ERR("Send some data to TCP Peer, but failed!\r\n");
//add you code here.
//store the data
}
}
else
{
DEBUG_EVENT("No TCP or UDP Connect exist!drop the data\r\n");
}
}
/*
*check the state of ppp
*if the link is DEAD, I deal it very simple,
*do not release the source of PPP/TCP/IP/UDP etc.
*just call the function: lwip_init(). but it work.
*then goto the head of main func.
*The state of DCD should be checked here,but I will ignore it.
*/
if(ppp_dead(pd) EQ TRUE)//如果链路死去
{
lwip_init();
set_Mytcpip_state(PPP_DEAD);
goto start_tcpip; //回去重新拨号
}
/*
*check the state of my tcpip
*/
switch(get_Mytcpip_state())//检查目前的状态
{
case PPP_ESTABLISHED: //这个是刚握完手的状态
if(get_sys_err() < MAX_SYS_ERR_ALLOW)
{
tcpip_open(); //所以握完手之后要打开tcp_ip(这个函数里可以选 择是用udp还是tcp,我选的udp)
break;
}
else
set_Mytcpip_state(TCPIP_STATE_UNKNOWN);
case TCPIP_STATE_UNKNOWN:
shut_system();
break;
default:
break;
}
//hit the WATCH DOG //这个我没用
}
}
代码 很清晰,大家帮忙分析一下
-
jf
-
ActiveSync好像也是走的tcp/ip协议
-
哈哈,31楼对_vectab[]的分析正确。
关于这个0x82,请看我在22楼的回答,它就是下面这个结构中的interrupt_instruction分量,从字面上就可知道它是一条指令,而在STM8指令系统的手册中,也说明了这是一条不公开的指令。
struct {
unsigned char interrupt_instruction;
interrupt_handler_t interrupt_handler;
};
下载 (61.73 KB)
2009-11-6 15:46
PM0044
-
好奇怪,RAM调试时其他都正常,只是不能进中断
FLASH调试则在 配置时就跑飞了
-
转换为开关信号??
-
自己解决
-
count=99的时间是0.01s,在这段时间里while循环走了好多次了
-
好像是没有通用、功免费的
记得有一个开源的,但功能比较弱,可以在EVC4下编译通过。也不记得名字了。