-
他自己不就是单片机吗?呵呵。谈不上淘汰谁。
-
如果我把上面TIM1_CH1相关部分改为TIM2_CH1,程序就能正确输出波形!!
-
改行不容易啊 要想清楚!
-
我按您16楼的说法,关闭update中断。同时只用这两行代码
TIM_SetAutoreload(TIM1,PeriodPFM);
// TIM_GenerateEvent(TIM1,TIM_EventSource_Update);
TIM_SetCompare2(TIM1,PeriodPFM/2);//
产生有周期提前结束现象,而且有时候整个某个频率就没有,全部为高电平或低电平。
-
eeworld的上传好像有问题,重新上传了下,
http://www.pudn.com/downloads253/sourcecode/embed/detail1171586.html
-
分给你了,谢谢你的回答
-
350 if (data) {//如果有数据要发送的时候,他就把始终给打开了,就没有做其它事情了, 就这个地方不懂了。他这里应该有一个开启一个DMA传输呢。 我没有看到。
351 // Ensure the block count & block size are both within the range.
352 printk("cmd->opcode=%d\n",cmd->opcode);
353 printk("au_readl(HOST_CONFIG2(host))=%08x, au_readl(HOST_CONFIG(host))=%08x\n",au_readl(HOST_CONFIG2(host)),au_readl(HOST_CONFIG(host)));
354 printk("data->bytes_xfered=%d\n",data->bytes_xfered);
355 //printk("au_readl(HOST_CONFIG(host))=%08x\n",au_readl(HOST_CONFIG(host)));
356 mdelay(10);
357
358 if (data->blocks > AU1XXX_MAX_BLKCOUNT ||
359 data->blksz > AU1XXX_MAX_BLKSIZE) {
360 printk("invalid block size\n");
361 return -1;
362 }
363 // Set block size and count
364 blkSizeRegister = SD_BLKSIZE_BC_N(data->blocks); // Macro does -1 for us
365 blkSizeRegister |= SD_BLKSIZE_BS_N(data->blksz); // Macro does -1 for us
366 au_writel(blkSizeRegister, HOST_BLKSIZE(host));
367
368 // enable clock freezing
369 tmp = au_readl(HOST_CONFIG2(host));
370 tmp &= ~SD_CONFIG2_DF;
371 tmp |= SD_CONFIG2_FF;
372 au_writel(tmp , HOST_CONFIG2(host));
373 // printk("data->bytes_xfered=%d\n",data->bytes_xfered);
374 }
375
376 // for Stop Transmission and IO Abort disable clock freezing to
377 // get the state machine running again to send command
378
379 if ((SD_IO_RW_DIRECT == cmd->opcode && (SDIO_CCCR_ABORT == IO_RW_DIRECT_ADDR_ARG(cmd->opcode)))) {
380 tmp = au_readl(HOST_CONFIG2(host));
381 tmp |= SD_CONFIG2_DF;
382 au_writel(tmp , HOST_CONFIG2(host));
383 }
384
385 IRQ_CLEAR(host,SD_STATUS_SC | SD_STATUS_RC | SD_STATUS_WC |
386 SD_STATUS_RAT |
387 SD_STATUS_DD );
388
389 // enable response done and response timeout interrupts
390 IRQ_ON(host, SD_STATUS_CR | SD_STATUS_RAT);
391
392
393 lastCmd53 = (cmd->opcode == SD_IO_RW_EXTENDED);
394 //printk("cmd->arg=%d\n", cmd->arg);
395 au_writel(cmd->arg, HOST_CMDARG(host));
396 au_sync();
397
398 if (wait)
399 IRQ_OFF(host, SD_CONFIG_CR);
400
401 au_writel((mmccmd | SD_CMD_GO), HOST_CMD(host));
402 au_sync();
403
404 /* Wait for the command to go on the line */
405
406 while(1) {
407 if (!(au_readl(HOST_CMD(host)) & SD_CMD_GO))
408 break;
409 }
410
411 /* Wait for the command to come back */
412 if (wait) {
413 u32 status = au_readl(HOST_STATUS(host));
414
415 while(!(status & SD_STATUS_CR))
416 status = au_readl(HOST_STATUS(host));
417
418 /* Clear the CR status */
419 au_writel(SD_STATUS_CR, HOST_STATUS(host));
420
421 IRQ_ON(host, SD_CONFIG_CR);
422 }
423 //printk("au_readl(HOST_CONFIG2(host))=%08x, au_readl(HOST_CONFIG(host))=%08x\n",au_readl(HOST_CONFIG2(host)),au_readl(HOST_CONFIG(host)));
424 return 0;
425 }
-
谢谢各位的知道
一人10分,加分结贴:)
-
引用 3 楼 veabol 的回复:
参考一下:http://blog.eeworld.net/Veabol/archive/2009/11/03/4763370.aspx
如果你的PDA支持关机保存注册表的修改的话是可以实现,将注册表进行如下修改
[HKEY_LOCAL_MACHINE\Init]
"Launch50"="xxxxxx"
"Depend50"=hex:14,00,1e,00
这里的XXXXXX是你的程序完……
正解
-
帮个忙啊,周围人问下。
谢谢了。
-
软件用 MDK 仿真器用Jlink
-
600US很慢吗,可以接受吧,还有你这个时间如何测得
-
unsigned char now_value;//保存当前的声调
unsigned char tmp_value;//保存临时的声调
开机时,读取保存的声调值,传送给两个变量。
按2键时,tmp_value变化,
按1键时,tmp_value值传给now_value同时写保存;处理时只按now_value判断!
-
祝楼主一路顺风,呵呵!
-
绑定下
先解决硬件方面的问题吧,硬件没解决,就不要谈在WinCE下
-
如果用MC55就不用这么麻烦了
__________________________
西门子MC39i --RMB:60 最后清仓 先到先得
http://item.taobao.com/auction/item_detail-0db2-9d6690f1640845ab2d61a8ffa6e7361f.jhtml
西门子MC55 --RMB:150
德国GPS模块JP7--RMB:50
-
主要是我们的系统已经有和外设用串口通讯,这其他的IO都有用到。不可能用TI的BSL。只好自己做BOOTLOAD。现在在进入BOOTLOAD时加入密码保护,还在测试中。
在我们办公室不会出现,只有在车间生产才发现。比较郁闷!
如果还不行的话,再按DX的方法试试。
-
19英寸是对角线的
但是要求为1U机箱,这选择起来就不好办了
-
两种方法可供选择:
1. 接收sd/u 文件系统的mount消息,然后检测volume name就可以了,cetk源码下有类似的代码
2. 修改os,插入的时候发有名字的event,ap检测到后进行区分
-
表示是代码段(域),可能是告诉编译器的