-
楼主看的什么资料
-
我也清过ARP了,也是ping不通,要重启板子才能ping通。
多清几次ARP,然后查查电脑和板子的IP
-
的确是很全,可我为啥打不开呢
-
回复楼上,你那种办法要计算绝对地址,很麻烦,而且我这里是要使用整个字库
-
楼主是如何解决的呢
-
#define EVENT_NAME L"\\BaseNamedObjects\\ProcEvent"
不是"\\\\BaseNamedObjects\\ProcEvent",而是"\\BaseNamedObjects\\ProcEvent"
-
引用 13 楼 wangyuluyulu 的回复:
请问我的logo.bin文件该如何做啊
谢谢!
你理解了EBOOT.BIN或者NK.bin文件结构,就可以自己做你的LOGO.BIN~基本要求:
1,怎么让系统知道要下载的是LOGO.BIN且能正确下载
2,下载完后能正确完整的读到显存。
关于这个BIN结构,要研究下NK.BIN~注意NK.BIN和EBOOT.BIN是分段的哦~
这个只是思路,具体怎么写函数,加代码,这个LZ参考下载EBOOT.BIN的过程。
-
记得以前曾经有很多兄弟为所长的队列争吵过,这里贴上一个,欢迎拍砖,指正。
// queue.h文件
#ifndef AFX_QUEUE_H
#define AFX_QUEUE_H
#include "stm32f10x.h"
struct QueueBuffer{
u8 *buf; //缓冲区起始点
u16 front;
u16 rear;
u16 queue_len; // 初始化时赋值,然后只读
};
//------------------------------------------------------------
//构造
//------------------------------------------------------------
extern void Queue_Init(void);
//-------------------------------------------------
//析构,释放在init()中使用到的硬件资源
//------------------------------------------------------------
extern void Queue_Destory(void);
//------------------------------------------------------------
//申请注册缓冲队列
//返回struct QueueBuffer结构指针。
//------------------------------------------------------------
extern struct QueueBuffer *Queue_Register( unsigned int mSize );
//------------------------------------------------------------
//将数据压入队列
//------------------------------------------------------------
extern void Queue_Push( struct QueueBuffer *pQueueBuffer, unsigned char mData );
//------------------------------------------------------------
//将数据弹出队列
//------------------------------------------------------------
extern unsigned char Queue_Pop( struct QueueBuffer *pQueueBuffer );
//------------------------------------------------------------
//读出队列指定序号数据
//------------------------------------------------------------
extern unsigned char Queue_Read( struct QueueBuffer *pQueueBuffer, unsigned char mId );
//------------------------------------------------------------
//返回队列数据个数
//------------------------------------------------------------
extern unsigned short Queue_Num( struct QueueBuffer *pQueueBuffer );
//------------------------------------------------------------
//队列清空
//------------------------------------------------------------
extern void Queue_Clear( struct QueueBuffer *pQueueBuffer );
extern int Queue_is_empty(struct QueueBuffer *pQueueBuffer);
extern int Queue_is_full(struct QueueBuffer *pQueueBuffer);
#endif
// queue.c文件
#include "global.h"
//---------------------------------------------------------------------------
//通用缓冲队列
//----------------------------------------------------------------------------
#define _QueueH
#include "queue.h"
#include "memory.h"
//----------------------
//构造
//----------------------------------------------------------------------------
void Queue_Init(void)
{
}
//----------------------------------------------------------------------------
//析构,释放在init()中使用到的硬件资源
//----------------------------------------------------------------------------
void Queue_Destory(void)
{
}
//------------------------------------------------------------
//申请注册缓冲队列
//返回struct QueueBuffer结构指针。
//------------------------------------------------------------
struct QueueBuffer *Queue_Register( unsigned int mSize )
{
struct QueueBuffer *pQueueBuffer;
pQueueBuffer = (struct QueueBuffer *)Memory_Malloc( sizeof(struct QueueBuffer));
Memory_Memset((unsigned char*)pQueueBuffer, 0, sizeof(struct QueueBuffer));
pQueueBuffer->buf = (u8 *)Memory_Malloc(mSize);
Memory_Memset((unsigned char*)&pQueueBuffer->buf[0], 0,mSize);
pQueueBuffer->front = 1;
pQueueBuffer->rear = 0;
pQueueBuffer->queue_len = mSize;
return pQueueBuffer;
}
int Queue_is_empty(struct QueueBuffer *pQueueBuffer)
{
return ((pQueueBuffer->rear + 1)%(pQueueBuffer->queue_len) == pQueueBuffer->front);
}
int Queue_is_full(struct QueueBuffer *pQueueBuffer)
{
return ((pQueueBuffer->rear + 2)%(pQueueBuffer->queue_len) == pQueueBuffer->front);
}
//------------------------------------------------------------
//将数据压入队列
//------------------------------------------------------------
void Queue_Push( struct QueueBuffer *pQueueBuffer, unsigned char mData )
{
// if(Queue_is_full(pQueueBuffer))
// {
// while(1);
// }
pQueueBuffer->rear = (pQueueBuffer->rear + 1)%(pQueueBuffer->queue_len);
pQueueBuffer->buf[pQueueBuffer->rear] = mData;
}
//------------------------------------------------------------
//将数据弹出队列
//------------------------------------------------------------
unsigned char Queue_Pop( struct QueueBuffer *pQueueBuffer )
{
unsigned char data;
// if(Queue_is_empty(pQueueBuffer))
// {
// while(1);
// }
data = pQueueBuffer->buf[pQueueBuffer->front];
pQueueBuffer->front = (pQueueBuffer->front + 1)% (pQueueBuffer->queue_len);
return data;
}
//------------------------------------------------------------
//读出队列指定序号数据
//------------------------------------------------------------
unsigned char Queue_Read( struct QueueBuffer *pQueueBuffer, unsigned char mId )
{
return 0;
}
//------------------------------------------------------------
//返回队列数据个数
//------------------------------------------------------------
u16 Queue_Num( struct QueueBuffer *pQueueBuffer )
{
u16 len;
if(Queue_is_empty(pQueueBuffer))
{
return 0;
}
if(Queue_is_full(pQueueBuffer))
{
return (pQueueBuffer->queue_len - 1);
}
if(pQueueBuffer->rear >= pQueueBuffer->front)
{
len = pQueueBuffer->rear - pQueueBuffer->front + 1;
}
else
{
len = ((pQueueBuffer->queue_len - 1) - pQueueBuffer->front + 1) + pQueueBuffer->rear + 1;
}
return len;
}
//------------------------------------------------------------
//队列清空
//------------------------------------------------------------
void Queue_Clear( struct QueueBuffer *pQueueBuffer )
{
Memory_Memset((unsigned char*)&pQueueBuffer->buf[0], 0,pQueueBuffer->queue_len);
pQueueBuffer->front = 1;
pQueueBuffer->rear = 0;
}
-
引用 3 楼 yashi 的回复:
WinCE不支持CSocket,可以使用CCesocket,或者CAsyncSocket(异步)。
请问一下,CCesocket类的用法是不是和CSocket一样?函数是不是都一样的?
-
引用 5 楼 shellgo 的回复:
参考一下:在何时该用什么方式编译WinCE,search一下,
其实这些问题的根源都是与编译相关的。我们必须理解整个编译系统,从而准确的了解什么时候该如何编译。发表这篇博文的目的就是为了让你搞清楚”什么时候该如何编译”这个问题!
首先第一步,也是最重要的一步就是,从你的Platform Builder的菜单中删除两个选项:”Build and Sysgen”和”Rebui……
这篇文章的英文原版我也见过,尚不理解,求达人指导
-
采用USB2.0标准模块,注意端点缓冲大小.
USB1.0
USB1.1基本不使用了.
-
我还是想要知道MC55的相关介绍那位有知道这方面的指教一次啊,叫这些功能强就好。
-
开发板自带,
哈哈哈哈
GPIO控制,相当的简单。
-
想问下 是2*32M的64 变成64*2的128M 还是一片呢?
楼主看下对应的SDRAM或DDR的相关寄存器配置吧。
-
被乘数X=0.1101 乘数Y=-0.0111
先分别求出[X]原=0.1101 [Y]原=1.0111
去掉符号位得[X]*=0.1101 [Y]原=0.0111
初始部分积为Z0=0
部分积 乘数 说明
00.0000 0111 开始部分积Z0=0
+00.1101 乘数为1,加上X*
--------
00.1101
00.0110 1011 ->1位得Z1,乘数同时->1位
+00.1101 乘数为1,加上X*
--------
01.0011
00.1001 1101 ->位得Z2,乘数同时->1位
+00.1101 乘数为1,加上X*
--------
01.0110
00.1011 0110 ->1位得Z3,乘数同时->1位
+00.0000 乘数为0,加上0
--------
00.1011 011
00.0101 1011 ->1位得Z4,乘数已全部移出
------------------------------------------------------
即X*.Y*=0.01011011
乘积的符号位为X0异或Y0=0异或1=1
故[x.y]原=1.01011011
-
DNS服务器没设好吧
-
看不出来楼主具体想做什么
-
学习了. ..........
-
引用 2 楼 tcdzyq 的回复:
用到哪个入哪个,没有用到的就不需要了.
我的问题就是怎么知道哪些有用到,需要入栈
-
请LZ先来结帖,或出来冒个泡以证明自己存在,哈哈...
否则不会有人发给你的.