发布网友 发布时间:2024-10-23 22:22
共1个回答
热心网友 时间:2024-11-21 18:36
作为自动化专业的学生,本来就应该软硬件“通吃”的...不过看起来你还差一大截。你已经学了不少课程,但估计你还差一门“汇编语言”类的课程没学,你可以适当恶补一下!看来大学里教单片机之类的硬件课程的老师,强调要使用汇编语言来学习是重要的(很多高校都是这么强调的),否则就是不称职或不负责任!
你的第一个错误是,printf是C语句,它是由编译器完成编译,而不是由汇编器进行汇编的!
拿你熟悉的单片机来说,初学时你就该用汇编语言来编程!用C编程的最大害处是漂浮在上面,不懂得底层硬件的动作!在汇编语言中,你可以很直观地将单片机某个端口的某1位置“1”或“0”;在正逻辑(通常都是)下,对应的这个管脚就会输出高电平或低电平。假定这个管脚外接了个小功率的指示灯(如贴片LED),那么,你的汇编指令就可以很直观地点亮或熄灭这个灯了!若这个灯的功率稍大,你就不能直接与单片机的IO脚相连接了,这时在硬件设计上,你就得用另外的电源来驱动这个灯,这个输出管脚转而去控制这个“灯”的开关,这个开关,你可以用三极管或FET实现。这就是所谓的TTL电路的负载能力问题......若是一个白炽灯,要接~220V才能亮你又怎么去控制呢?........
如上所述,如果很多的小功率灯构成一个点阵,那么灯的亮灭就可以构成各种不同的图形、字符了。你的printf语句实际上就是要按照待显示的字符点亮或熄灭点阵式显示器上相应的“灯”了。
你若想从事嵌入式技术工作,我觉得硬件你得恶补,若从事嵌入式系统软件开发,如驱动开发,移动开发,你会远不如出生软件或计算机专业的人,当然驱动开发与底层相关,学好了硬件,你会有一定优势。
若想DIY嵌入式硬件,别忘记加入QQ群183063508,我有很多DIY硬件模板的哈!
祝你好运!也希望采纳。