• 盘点程序员写过的惊天Bug:亏损30亿、致6人死亡,甚至差点毁灭世界

    本文经AI新媒体量子位(ID:QbitAI)授权转载,转载请联系出处博雯发自凹非寺一个Bug就地蒸发5亿美元;软件设计层面出Bug致6人死亡;DeBug不成功直接世界毁灭。你职业生涯中写过最大的Bug是什么?在这个问题上,勇敢的码农们,总是能不断地创造奇迹。这不禁让路过的一位普通市民感叹:感觉有你们,我们还活在这个世界就像死神来了Bug很大,你忍一下一个Bug到底能有多大?几个历史数据转储逻辑Bug或发货逻辑Bug,就能让几十万轻松蒸发:你们这亏钱的Bug都洒洒水啦,写Bug差点进去的见过没?马上就有码农站出来表示不服,并表示自己参与开发的一款发薪软件曾出现Bug,会导致发放的薪资变成双倍,总...

  • 很棒的单片机菜单框架(附源码)~

    知道有多少人折腾过液晶显示的菜单,我觉得很多人都应该搞过,我还记得以前大学参加电子设计竞赛获奖的作品,我就用到了一个12864,里面有菜单功能。以前可能觉得菜单高大上,其实并不是想象中的复杂,本文为大家分享一个用单色屏做的菜单框架。代码托管在github:https://github.com/wujique/stm32f407/tree/sw_arch 公众号回复"菜单"也可获得源码.1、概述本处所说的菜单是用在128*64这种小屏幕的菜单,例如下面这种,不是彩屏上的GUI。2、菜单框架设计作为一个底层驱动工程师,驱动写完了,是要写硬件测试程序的。这个测试程序,一般给测试部/硬件工程师用来测试...

  • 单片机串口最底层的本质?!

    嵌入式开发中,UART串口是最常见的一种通信接口,你知道为啥串口这么常见吗?本文就带你深入了解串口最底层的本质内容。一、什么是串口通讯?串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。尽管串行通讯的比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。典型的串口通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,所以端口能够在一根线上发送数据同时在另一根线上接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶的校验。对于两个需要进行串口通信的端口,这些参数必须匹配,这也是能够实现串口通讯的前提。图1:串行通讯示数据传...

  • 25万研究所和40万996大厂,你选哪个?

    经常收到同学问一个选择题: 25w的体制内(或者研究所,或者国企),和40w的大厂技术岗offer(和嵌入式有关),选择哪个会比较好呢?首先必须明确,这个选择没有统一标准,每个人要结合自己情况选择适合自己的。这两个选项本身并没有明显的优劣,没有绝对的好坏对错的。可以从以下几个角度来分析之。1自己的家境和目标。人和人真的是不能比的,做选择前必须结合自身家庭情况。一般来说,如果是城二代,即使你父母只是普通城市工薪阶层,至少在城市里房子车子这些基础都有了,父母也都有社保医保来保障,多少也会有些积蓄给你“办大事”。这种情况你可以选择进国企(或者研究所,公务员等体制内)。主要原因是国企等相对工资低一些,...

  • 分享一个实用的、可应用于单片机的内存管理模块

    关注、星标公众号,直达精彩内容来源:嵌入式大杂烩作者:ZhengNL本次给大家分享一位大佬写的应用于单片机内存管理模块mem_malloc,这个mem_malloc的使用不会产生内存碎片,可以高效利用单片机ram空间。mem_malloc代码仓库:❝https://github.com/chenqy2018/mem_malloc❞mem_malloc介绍一般单片机的内存都比较小,而且没有MMU,malloc与free的使用容易造成内存碎片。而且可能因为空间不足而分配失败,从而导致系统崩溃,因此应该慎用,或者自己实现内存管理。mem_malloc就是一个不会产生内存碎片的、适合单片机使用的内存管...

  • UWB:室内定位首选

    关注、星标公众号,直达精彩内容来源:网络素材超宽带(UWB)是一种基于IEEE802.15.4a和802.15.4z标准的无线电技术,可以非常准确地测量无线电信号的飞行时间,从而实现厘米精度的距离/位置测量。所谓,IEEE802.15.4a,是定义IR-UWB物理层的国际标准。该标准旨在提供非常高精度的定位,同时提供高达27Mbps的同步双向通信,以收集传感器数据和控制执行器。该标准于2005年启动并于2007年获得批准,然后于2011年完全集成。2018年,该标准以802.15.4z的形式重新开放,以进一步增加物理层的安全性,因为现在预计UWB将用作汽车和移动行业的安全交易无线技术。除了这种...

  • 带你走进程序员眼中的“像素”世界,深入理解图显系统中的RGB与YUV

    对所有人而言,像素这个词并不陌生。各大手机厂商新品发布会时高频出现的一个词就是xxx手机像素多少多少,分辨率多高多高。那么这里说的手机像素是什么含义呢?以500万像素为例,其含义是在一英寸的CCD面积上有500万个象素点,500万像素的分辨率是2592*1944或者2560*19...

  • 【图解】物联网设备的N种Wi-Fi配网方式

    1背景介绍物联网时代,各种各样的智能物联网设备正走进我们我们的生活,智能门锁、摄像头、猫眼门铃、扫地机、智能音箱、空气净化器、体脂秤等等。这些物联网设备都有一个共同的特征,就是可以联网,通过配套的手机APP,可以实现对设备的监控和操作。比如家用的无线监控摄像头,通过对应的手机AP...

  • 基于瑞芯微RV1109 Linux屏幕背光调试心得

    点击上方「嵌入式云IOT技术圈」,选择「置顶公众号」第一时间查看嵌入式笔记!    板厂默认没有配置背光亮度的接口,考虑到将来产品销售的过程中,不同客户对操作界面的亮度的感觉是不一样的,如果将背光亮度直接固定死,后面客户可能会投诉,所以建议还是将这个功能配置上,提供可调节背光的接...

  • 分享一个适用于嵌入式的CPP开源项目

    在来腾讯之前,我是没有真正用C开发过一个完整的项目的,然后,赶鸭子上架,鹅厂的人特别喜欢用C,而且用的特别好。我这次推荐一个开源的C项目,希望喜欢C,或者想往C方向发展的同学可以看看。面向过程一定是偏向底层的,面向对象一定是偏向应用的,别杠!下面介绍下这个C开源项目项目名称: W...

  • C与CPP的区别?C是一把中厨刀,CPP是一把西厨刀

    关注「嵌入式大杂烩」,选择「星标公众号」一起进步!作者|  巐歌C与C的真正区别在哪里?C是中餐厨师的菜刀,做啥菜就那一把刀,切菜切肉切鱼,都是这一把刀,刀工好的师傅,豆腐都能切成一朵花。无论你提什么概念,都能用指针给你做出来,如果不行,那就用指向函数的指针,指针的指针,指向函数...

    嵌入式大杂烩
    2021-09-26
  • 如何实现一个简单的日志系统

    日志本文来聊聊文件系统中的日志系统,来看一个简单的日志系统是如何实现的。本文是接着前面的xv6系列,用到的一些前导知识不再说明,没看的可以先看一下。文件系统设计中通常要考虑错误恢复,这是因为文件系统会涉及对磁盘的多次写操作,如果在写的过程中系统崩溃了,就会使得磁盘上的文件系统处于...

    Linux阅码场
    2021-09-26
  • 精致全景图 | linux内核输出的日志去哪里了

    因为图片比较大,微信公众号上压缩的比较厉害,所以很多细节都看不清了,我单独传了一份到github上,想要原版图片的,可以点击下方的阅读原文,或者直接使用下面的链接,来访问github:https://github.com/wangyuntao/linux-kernel-illus...

  • openEuler 21.03 特性解读 | 毕昇 JDK8 支持鲲鹏硬件加解密特性详解和使用介绍

    毕昇JDK82021年第一个重要版本8u282已在2021.3.30日发布,请参考 2021年毕昇JDK8、JDK11第一个重要发布来了!,其中KAEProvider作为新特性为用户提供了一种利用鲲鹏硬件来进行加解密的加密实现,为了使用户更好的理解其实现细节和使用该特性,本文对K...

  • Linux系统噪音统计(osnoise tracer)

    在Linux系统中作为一个普通线程是非常苦逼的。不仅NMI、硬中断、软中断可以打断它,甚至其它普通线程也可以来打断干扰到它的运行。如果没有这些打断事件,一个普通线程执行while循环,可以high过天际。这些打断事件对一个普通线程来说,就相当于噪音一样的存在。从Linux5.14...

    Linux阅码场
    2021-09-26
    os 噪音 ce
发布文章