Goself

    1. c语言的一些疑问 6/2912 单片机 2012-09-21
      如果楼主非要这么做的话,可以这样来: #define  D  "%d" int a=2; printf(D,a);
    2. 对寄存器这样操作,很多程度上是一种简化的方法。这里举个例子,你自己想想。有一个寄存器是32位的,现在要给它赋值,使得它的第19位置1,而其它位全为零。你想想,你是会把这些位的值标写出来,然后转化成16进制或者十进制来得快些,还是直接(1<<19)来得快些?后面的方法根本不用考虑,简单明了,更大的程度上还起到对被操作位的标示作用。
    3. 有关ARM寄存器的操作 1/2873 ARM技术 2012-04-06
      你既然能明白上面那些,下面那些也应该能明白才对。所谓有软件,其实就是指令和数据的组合。而指令和数据最终被被编译器编译成机器码,而所谓的机器码就是“0”和“1“的组合,0和1就对应着高电平和低电平,于是数字电路就有不同的通和断。
    4. 程序长时间运行问题 1/2692 Microchip MCU 2012-04-01
      如果你的程序本身正确可靠,那基本上是不会出问题的。
    5. 多任务问题 5/3169 嵌入式系统 2012-03-18
      问出这个问题,只能说明楼主对操作系统的作用、机制还不明白,在这种情况下学操作系统,只为学而学,而不知为何而学。操作系统原理是独立于UCOS之外的知识,不说精通,楼主起码也要有所了解。
    6. ucos删除任务如何堆栈释放 1/5120 实时操作系统RTOS 2012-03-18
      堆栈就是你的创建任务时传给它的数组,这个数组是你自己创建的,你叫它怎么释放?另外,根本不需要释放,你可以把这个数组用于其它用途,比如用于其它新创建任务的堆栈,或者存储数据。多个在不同时刻创建的任务使用一个堆栈,没有内存的动态分配和释放,效率更高。 [ 本帖最后由 Goself 于 2012-3-18 16:30 编辑 ]
    7. 给位帮忙看看这段是延时么? 6/3139 51单片机 2012-03-12
      这,差得也太远了吧。解释一下:   #define sbi(Y,X) Y |= (1 << X) //将Y的第X位置1 #define cbi(Y,X) Y &= ~(1 << X) //将Y的第X位置0 #define xbi(Y,X) Y ^= (1 << X) //对Y与(1< <X)按位做异或运行 [ 本帖最后由 Goself 于 2012-3-12 23:25 编辑 ]
    8. 新手学习问题 1/2457 FPGA/CPLD 2012-03-09
      这还能怎么学?看书学语法呗。需要告诉楼主的是,verilog很简单,如果学语法的话,基本上连书都不用买,直接到网上下电子书,大概看个一两天就会明白是怎么回事,然后再看个一两遍,并编写代码练习练习,就可以入门了,如果你每天花个三四个小时,而且你不是很笨的话,大概5天你就可以用verilog做设计了。
    9. 首先,楼主应该分清CPU寄存器和外设寄存器。CPU寄存器存储的是CPU的状态信息,而外设寄存器存储的是外设资源的状态信息。按理说,外设寄存器才被分配地址进行访问,而CPU寄存器直接访问,不能用地址访问。51出来得很早,寄存器设置得并不是很合理,它对于CPU寄存器和外设寄存器的分配并不是很清晰,所以导致有些其实是CPU寄存器的,但是被分配一个地址空间。 另外,纠结于这种事情着实没有必要。它们那么做,并不代表它们是科学的,而是跟芯片设计工程师的思维方法有关。一样新东西出来的时候,谁都对它不熟悉,包括设计工程师本身,所以一些设计看起来会很奇怪,令人费解。比如51的高地址空间即是特殊寄存器的,又是RAM的,访问的时候并不冲突,芯片内部会解决这种冲突,但是这会让有些使用者疑惑,比如楼主就是其中之一。后来MCU技术越来越成熟,于是现在的MCU在这些方面做得很好。这很像软件设计技术,软件技术刚出现的时候,很多人编写出来的代码用现代人看都是一团糟。 等楼主真的明白MCU简单来说其实就是由一系列的逻辑门组成的一个时序电路,在时钟的驱动下用于取出、翻译并执行指令(0和1)时,你就不再会纠结于这些东西了。     51已经很多年不使用了,上面表述的时候全凭着有限的记忆,如果有说错的地方,不要拍砖。
    10. verilog语句输出疑问 2/2530 FPGA/CPLD 2012-03-07
      如果i=0,那么a会保持上一次的值不变,而c就是a电平的实时输出。就好比,a是一个电源,c就是连接在电源上的导线,如果a不变,c自然就不变。只是一般情况下,如果c没有在代码中被使用,那么综合器很可能会把它给优化掉。
    11. if ((P1 & 0x07) != 0x07)什么含义? 8/11291 51单片机 2012-03-06
      是的。更严格的说法是,对于P1来说,只要P1不是XXXXX111,即可满足条件。X可以是0或者1。
    12. if ((P1 & 0x07) != 0x07)什么含义? 8/11291 51单片机 2012-03-05
      目的是检查P1的第0、1、2位是否都为1,判断这些的时候不能受P1的其它位影响。
    13. 很多单片机都带有专用的PWM外设,更多的是用定时器来实现。楼主只需要选用一款这类资源较多的芯片就可以了。
    14. 基于FPGA的棋类比赛计时器 6/3770 FPGA/CPLD 2012-03-02
      1.VHDL或者verilog是用来描述你的意图的,即你要实现的电路。一般来说,只要你在代码中不使用某芯片特有的资源,那么代码就是通用的。既可以用于CPLD,也可以用于FPGA; 2.FPGA和CPLD的相同点在于,它们都是由各类逻辑门组成的。而不同的地方,芯片本身的构造、实现方法、材料等都不同。你只需要知道的是,CPLD适合用于组合逻辑电路和小规模的电路,FPGA适合实现高速、大规模的时序逻辑电路。当然,CPLD和FPGA之间有一个交集,在这个交集里面的实用,即可以用CPLD实现,也只可以用FPGA实现; 3.用VHDL或者verilog来描述你要实现的电路,然后综合软件会来理解你的意图,并翻译成可以在你所选择的芯片上正确运行的电路; 4.如果只是为了毕业设计,个人建议花一两天时间看一下verilog的语法,这个语言相对简单,入门也快。下载一个综合器,边学verilog边练习。等到了能编写简单的代码时,就开始学会引脚分配,如果会分配引脚了,那么你就可以做你的毕业设计了。 ——个人愚见,仅供参考。
    15. 你都不介绍一下你自己的情况,让人怎么说啊?
    16. 关于C的问题 2/2981 嵌入式系统 2012-02-28
      如果你能保证下面的条件,那么基本上不会有问题: 1.一定能保证有等于NULL的值返回; 2.等待的时间内,不会对系统的实时性等造成影响; 3.干扰发生时,不会造成永远都不返回NULL的情况。
    17. FPGA的原理图输入方式和vhdl区别 2/5021 FPGA/CPLD 2012-02-26
      倒也不是说原理图只能提供基本的逻辑运算,如果你学得够好,基本功够扎实,能力过硬,用VHDL做成的,基本上你也可以用原理图实现。只是在面对复杂的实现时,用原理图来做的话,那是难上加难。如果用VHDL的话,你只需要描述逻辑,然后综合器会帮你实现你想要的电路,最后其实还是被实现成电路,你可以以原理图的方式查看综合结果。综合器会去尝试理解你的设计,并帮你翻译成电路,如果你的设计越复杂,那么综合器所花费的时间就越多,但是综合器花费的时间再怎么多,一般情况下也比你自己用原理图来实现你的想法所花费的时间要少得多。 也就是说,做FPGA设计时,按楼主的说法,有两种路径: 1.用原理图实现自己的想法; 2.用VHDL实现自己的想法,然后用综合器把VHDL翻译成实现电路。 第2种方法对工程师的要求更低一些,而且效率要高,还可以把更多的关注点放在要实现的功能,而不是电路本身。
    18. 标准的工程师的造型,看看你符合几样? 8/2934 聊聊、笑笑、闹闹 2012-02-25
      这头发凌乱吗?对于有些工程师的不修边幅,非得强加到这个上面。
    19. 有关Xilinx ISE 13.4 XST的问题 2/3732 FPGA/CPLD 2012-02-25
      你要注意到你选择持是artix系列,不以选择XST,可能是因为artix系列太新,除了XST外市面上见不到其她公司的综合器。因此默认为XST,而没有其它选择。楼主可以选择其它系列的芯片试一下,看看XST能不能出来。
    20. 怎么知道8位的单片机够不够用 4/3367 单片机 2012-02-25
      换一个角度,楼主可以先对产品的成本作评估。确定成本以后,在成本允许的条件下,尽量选择速度最好的芯片。

最近访客

< 1/1 >

统计信息

已有63人来访过

  • 芯积分:--
  • 好友:--
  • 主题:--
  • 回复:48

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言