大写加粗的L
获得 44 次赞
帮助过117人
有中断的话可以检测link状态的, 但是83848貌似是依赖注册一个检测link的小线程来实现的,就在网卡初始化里注册,官方Demo里有,可以参考下
这个东西是给爱好者玩的,套路单一,上手容易,把大部分工作都做了,留下极个别接口给人玩儿。基本谈不上可定制。实际项目中,我没遇到一个公司有用这个的。大部分都是ST的,然后是NXP的
那个get_key()之类的是伪代码,你要替换自己的函数的,这几个函数什么意思看函数名就好,不可能直接复制粘贴就能编译过的,关键要理解这段代码的功能,然后自己写
可以这样来,#define LED_LIGHT_TIME 10u8 button_set_fg=0;u32 led_light_cnt=0;while(1){ if(1==get_key()) { button_set_fg=1; led_light_cnt=get_system_tick(); } if(1==button_set_fg) { if(get_system_tick()<=led_light_cnt+LED_LIGHT_TIME*1000) { led_on(); } else { led_off(); button_set_fg=0; } }}
干久了,你会发现这是条必经之路,不论是应用还是内核驱动,我周围遇到的应用驱动都有,但是只有个别论年薪半百万到百万的前辈,几乎都明确说嵌入式的瓶颈就在于微机原理和操作系统原理。而将这些理论去实现的,可以用C。但将这些理论很好验证的,则必然是汇编。没有之一。编译器对代码的处理,体现在汇编里,内核对cpu的使用上,体现在汇编里。甚至一段简单的拷贝函数时间算法复杂度,也体现在汇编里。可以说干嵌入式软件就是搞CPU,而能和CPU一对一良好沟通没有歧义的,就是汇编。个人愚见。