-
STM32更快一点
-
有人能给个解答吗 无助啊 无助。。。
-
Info: SWDID = 0x1BA01477
Info: AHB-AP_ID = 0x14770011
Info: ROM_ADDRESS = 0xE00FF003
Info: CFG = 0x00000000, Little-endian
Info: CORTEX-M3 processor detected
Info: CPUID = 0x411FC231
Info: STM32 type: medium-density device
Info: STM32 revision: Y
Info: Flash memory size: 128 KB
Info: Chip-id read is 0x410.
Info: Auto-detect signature is 0x410
Info: stm32_md found
检测出来是Y版本,怀疑是某个部分检测版本流到市场里去了。
不要告诉偶只是丝印出错......
明天早上第一时间会得到ST意大利的确认消息。。。鹅鹅鹅,他们早上。。。,我这里也会做一个稳定性测试。
-
code是code,flash是flash,不能等同。
code可以放到flash,也可以放到RAM。
data可以放到RAM,也可以放到flash(指Readonly data )。
-
一、定义一个字节(8位)的位变量,既可按字节访问也可按位进行访问
union flag // 先定义一个联合flag
{
unsigned char val; // 再定义该联合中的一个字节型变量val
struct // 定义一个结构型数据,构成位域。
{
unsigned char B0:1; // B0~B7为每一位的名称,可用其他名称替换,例如B0可写成FLAG0。
unsigned char B1:1; // B1可写成FLAG1
unsigned char B2:1; // B2可写成FLAG2
unsigned char B3:1; // B3可写成FLAG3
unsigned char B4:1; // B4可写成FLAG4
unsigned char B5:1; // B5可写成FLAG5
unsigned char B6:1; // B6可写成FLAG6
unsigned char B7:1; // B7可写成FLAG7
} bits; // 再定义该联合中的另一个结构型变量bits
};
volatile union flag flag; // 最后,定义该联合的变量flag,注意这句话中有两点要弄清楚,关键字volatile的本意是“易变”,在C30中一般不能省略;第一个flag是联合的名称,第二个flag是该联合的变量,这第二个flag可写成其他任意名称,例如lcd_ctrl等等。
有了上述定义就可以引用了,引用方法如下:
当按字节操作时,例如这样:flag.val = 0xAA; //变量flag被赋值:0xAA。
当按位操作时,例如这样:flag.bits.B0 = FALSE; // 0
flag.bits.B1 = TRUE; // 1
flag.bits.B2 = FALSE; // 0
flag.bits.B3 = TRUE; // 1
flag.bits.B4 = FALSE; // 0
flag.bits.B5 = TRUE; // 1
flag.bits.B6 = FALSE; // 0
flag.bits.B7 = TRUE; // 1
在上述定义中,C30在内存中只分配一个字节的变量flag,因而操作起来极为方便,如果将上述定义中的volatile关键字去掉,也可应用于keil c51中,以解决51单片机中位变量有限(20H~2FH共128个位)的矛盾。
二、定义一个字(16位)的位变量,既可按字访问也可按位进行访问
这和定义字节位变量的方法相同,请看:
union flag // 先定义一个联合flag
{
unsigned int val; // 再定义该联合中的一个字变量val
struct // 定义一个结构型数据,构成位域。
{
unsigned char B0:1; // B0~B7为每一位的名称,可用其他名称替换,例如B0可写成FLAG0。
unsigned char B1:1; // B1可写成FLAG1
unsigned char B2:1; // B2可写成FLAG2
unsigned char B3:1; // B3可写成FLAG3
unsigned char B4:1; // B4可写成FLAG4
unsigned char B5:1; // B5可写成FLAG5
unsigned char B6:1; // B6可写成FLAG6
unsigned char B7:1; // B7可写成FLAG7
unsigned char B8:1; // B8写写成FLAG8
unsigned char B9:1; // B9可写成FLAG9
unsigned char B10:1; // B10可写成FLAG10
unsigned char B11:1; // B11可写成FLAG11
unsigned char B12:1; // B12可写成FLAG12
unsigned char B13:1; // B13可写成FLAG13
unsigned char B14:1; // B14可写成FLAG14
unsigned char B15:1; // B15可写成FLAG15
} bits; // 再定义该联合中的另一个结构型变量bits
};
volatile union flag flag; // 最后,定义该联合的变量flag。
当按字操作时,例如这样:flag.val = 0x55AA; // 变量flag被赋值:0x55AA。
当按位操作时,例如这样:flag.bits.B0 = FALSE;// 0
flag.bits.B12 = TRUE;// 1
在上述定义中,C30在内存中分配一个字变量flag。
这是摘录的东西。可以用这种方法定义位变量。用共用体的方式对IO口进行操作是经常使用的一个手段。建议楼主查一下相关的资料。这个问题就很容易解决。看一下定义管脚是如何实现的。
另外,需要用流驱动的方式来调用你的底层。
-
帮你顶
-
文件读写用C/C++函数,
fread,fwrite,fgets,fputs
我现在WINCE项目里写文件,读文件都用这几个函数。
INI文件的读写我也有类,可以给你。
-
我的nand是k9f1g08uom,大页的
-
学习、提高、扩展、支持。。。。。。
-
首先POS由很很多,种类太多了
不知楼主 问的是哪类POS机?银联POS?
我一个兄弟做银联POS机,用的是三星的2410、2440(三星的ARM9),
还有做食堂用的小型消费POS机,用的NXP的ARM7。当然此类POS较简单,也有用单片机
-
强顶一个,纯爷们!
-
compiling szsz.c...
SZSZ.C(7): error C132: 'delay1s': not in formal parameter list
SZSZ.C(7): error C141: syntax error near '{'
SZSZ.C(8): error C132: 'a': not in formal parameter list
SZSZ.C(8): error C132: 'b': not in formal parameter list
SZSZ.C(8): error C132: 'c': not in formal parameter list
SZSZ.C(9): error C141: syntax error near 'for'
SZSZ.C(9): error C141: syntax error near '=', expected ')'
SZSZ.C(9): error C129: missing ';' before '>'
szsz.c - 8 Error(s), 0 Warning(s).
出现的是这个 是什么原因呢
-
引用楼主 boy4000 的回复:
别家的仿真器都已经支持 Keil C? V8~9 了,为什么伟福的仿真器还停留在V4~5
从 WAVE6000 玩到 V8,都已经快 10 个年头了,伟福还是没有任何改善?
强烈建议用KEIL C的仿真器,不仅可以仿真51,还可以仿真ARM7等等
而且很便宜、
作为第三方软件公司,KEIL 已经越来越强,而WAVE6000 逐渐在走下坡路,
-
听你的意思,好像你改动了bt的大小,是不是屏的尺寸比较大,比如7',,然后你生成的bt超过128k,所以,起不动了。当然,你调试的时候,地址设置在ram里,肯定不会有问题。呵呵。
-
6-10块应该是用来备份EBOOT等启动代码,硬盘的FAT表+DIR目录有可能放在FAT的任何一个块,没有固定的块地址,因为FAT表+DIR目录需要经常更新,出于FLASH平衡读写的目的,它不可能放在一个因定的地址。
-
好东西啊,好好看看
-
不同的BSP出来的效果不一样,我们的BSP bootloader的时间比WINCE的启动时间短,因为我们驱动比较多,并且FLASH的盘符是三个,每个盘符大概要占去一秒钟的时间。
-
抢一个
-
希望你能找到问题的所在
请你一步一步地执行程序,并在适当时候给以触发条件,观察程序执行情况,一般能找到问题所在.
-
引用 14 楼 codewarrior 的回复:
引用 13 楼 dfpgb 的回复:
引用 11 楼 codewarrior 的回复:
试了SPI_GETPROJECTNAME吗?
晕...我仔细看了看:SPI_GETPROJECTNAME?? 得到项目名字~~~?
这是因为windows embeded 6.0中,可以使用CEBase和SmartFon两种基础项目类型。
啊......这个还没用过...