共2条
1/1 1 跳转至页
IC 去IC设计公司应聘的一道笔试题!

问
用汇编程序(随便)写一个LED闪烁子程序,端口为PLED,然后主程序去调用它,
要求,1、不给用定时计数器,2、不给用软件延时,系统实时行要求高。
各位有什么高见? 答 1: 要求,1、不准你死,2、不准你活,干活要求勤快你有什么高见? 答 2: re考,是不是脑筋急转弯呀? 答 3: 脑筋急转弯:循环计数void led(void)
{
static unsigned int count;
if( ++count > 10000 ){
count = 0;
if( PLED )PLED = 0;
else PLED = 1;
}
}
main()
{
...
while(1){
...
led();
}
} 答 4: 什么叫“软件延时”?所谓软件就是相对于硬件而言的
所有的程序都是软件
用程序实现的延时都是“软件延时”
然后要你用“汇编程序(随便)写一个LED闪烁子程序”
还“不给用软件延时”?
通常的延时程序一种是查询定时器(或中断),一种是消耗CPU周期
还有其他方法吗? 答 5: en也许是直接对PLED取反,因为主程序循环有时间,这样没有特意延时也可以有延时的效果。 答 6: 我答的和楼上的一样我答的和楼上的一样,用一个寄存器计数,让主程序运行到那里都计一次,
计得多少次就让它取反,想不出还有什么方法了,
也不知对错,结果公司要我签约了,当然还考了很多东西 答 7: 上面的那个兄弟给出的程序不就完全满足要求吗? 或者计数主循环次数也可以, 答 8: 那个程序可以做到吗?说不给用循环等待的,占了太多CPU时间,
那个程序可以做到吗? 答 9: 的方法是可以~~但跟主程序的执行时间有关系,~~~
呵呵,好像只能这样了~~ 答 10: 我感觉也只能用这个办法。毛病是闪烁的不一定是规则的。不过题意没有这个限制 答 11: nop指令如何?NOP指令算不算是软件延时呢?呵呵,不知道使用最笨的方法,可不可以过关:)? 答 12: ! 答 13: nop 不行吧,也是要消耗CPU时间的nop 不行吧,也是要消耗CPU时间的 答 14: 要主循环提供计时吧 答 15: 用过零中断吧一般过零中断为10ms一次,闪烁的话,在过零中断计数好了,够了就翻转一下。
呵呵,好像条件没说不能用外部中断吧,并且这样和实时性要求高也没冲突,还
行吧? 答 16: 也许不是要你一定能编出来! 我觉得这个题挺活的。也学是为了考你编程的经验,如果你编得多的话,可能会有很多种解法,不管你用哪一种,首先你一定得做出来,其次再看你是如何做得。总之你做得越有新异就越容易得到好评!
不止我的看法对不。 答 17: 用整体程序循环记数 答 18: 把他当成狗,主程序去调他即可 答 19: re只要主程序循环一次的时间是固定的, 用一个寄存器来控制闪烁
要求,1、不给用定时计数器,2、不给用软件延时,系统实时行要求高。
各位有什么高见? 答 1: 要求,1、不准你死,2、不准你活,干活要求勤快你有什么高见? 答 2: re考,是不是脑筋急转弯呀? 答 3: 脑筋急转弯:循环计数void led(void)
{
static unsigned int count;
if( ++count > 10000 ){
count = 0;
if( PLED )PLED = 0;
else PLED = 1;
}
}
main()
{
...
while(1){
...
led();
}
} 答 4: 什么叫“软件延时”?所谓软件就是相对于硬件而言的
所有的程序都是软件
用程序实现的延时都是“软件延时”
然后要你用“汇编程序(随便)写一个LED闪烁子程序”
还“不给用软件延时”?
通常的延时程序一种是查询定时器(或中断),一种是消耗CPU周期
还有其他方法吗? 答 5: en也许是直接对PLED取反,因为主程序循环有时间,这样没有特意延时也可以有延时的效果。 答 6: 我答的和楼上的一样我答的和楼上的一样,用一个寄存器计数,让主程序运行到那里都计一次,
计得多少次就让它取反,想不出还有什么方法了,
也不知对错,结果公司要我签约了,当然还考了很多东西 答 7: 上面的那个兄弟给出的程序不就完全满足要求吗? 或者计数主循环次数也可以, 答 8: 那个程序可以做到吗?说不给用循环等待的,占了太多CPU时间,
那个程序可以做到吗? 答 9: 的方法是可以~~但跟主程序的执行时间有关系,~~~
呵呵,好像只能这样了~~ 答 10: 我感觉也只能用这个办法。毛病是闪烁的不一定是规则的。不过题意没有这个限制 答 11: nop指令如何?NOP指令算不算是软件延时呢?呵呵,不知道使用最笨的方法,可不可以过关:)? 答 12: ! 答 13: nop 不行吧,也是要消耗CPU时间的nop 不行吧,也是要消耗CPU时间的 答 14: 要主循环提供计时吧 答 15: 用过零中断吧一般过零中断为10ms一次,闪烁的话,在过零中断计数好了,够了就翻转一下。
呵呵,好像条件没说不能用外部中断吧,并且这样和实时性要求高也没冲突,还
行吧? 答 16: 也许不是要你一定能编出来! 我觉得这个题挺活的。也学是为了考你编程的经验,如果你编得多的话,可能会有很多种解法,不管你用哪一种,首先你一定得做出来,其次再看你是如何做得。总之你做得越有新异就越容易得到好评!
不止我的看法对不。 答 17: 用整体程序循环记数 答 18: 把他当成狗,主程序去调他即可 答 19: re只要主程序循环一次的时间是固定的, 用一个寄存器来控制闪烁
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 |