分享一個小技巧,使用MDK編譯器,讓STM32程序HEX文件中加入固件版本信息,估計(jì)很多老手都已經(jīng)在使用(你有好的方法歡迎分享,希望我的磚能引來你的玉),該方法獻(xiàn)給新手或初學(xué)者。
在之前一篇博客中(簡易PID算法的快速掃盲)簡單介紹了PID算法的基本原理和位置式算法的實(shí)現(xiàn)過程,由于部分推導(dǎo)過程已經(jīng)在上一篇文章做過介紹,所以推導(dǎo)過程本文不再贅述,本文重點(diǎn)將對離散增量式PID的算法進(jìn)行實(shí)現(xiàn)。
這個是今天在微信群里討論的一個問題,然后我們就在群里討論,有的大神說這個是內(nèi)存越界,也有大神說可能是人品有問題,也有大神說這個是因?yàn)閷懘a前沒有選好一個良辰吉日,反正大家想法都非常多,也非常古怪,這可能就是討論群存在的一個原因了。經(jīng)過不斷的驗(yàn)證,發(fā)現(xiàn)這個問題是因?yàn)榫幾g器優(yōu)化的問題。
曾經(jīng)在開發(fā)Linux內(nèi)核驅(qū)動的時候,創(chuàng)建了一個補(bǔ)丁文件,但是在把補(bǔ)丁打到主分支的時候提示很多編碼風(fēng)格的錯誤問題,后來重做了補(bǔ)丁才解決了問題,這也是沒有嚴(yán)格按照的Linux編碼風(fēng)格從而導(dǎo)致的問題。因?yàn)楫?dāng)時代碼量不大,所以解決問題的時間相對較少。在代碼量增大的情況下可以借助工具進(jìn)行自動修改。
最近在看Mybatis的源碼,剛好看到緩存這一塊,Mybatis提供了一級緩存和二級緩存;一級緩存相對來說比較簡單,功能比較齊全的是二級緩存,基本上滿足了一個緩存該有的功能;當(dāng)然如果拿來和專門的緩存框架如ehcache來對比可能稍有差距;本文我們將來整理一下實(shí)現(xiàn)一個本地緩存都應(yīng)該需要考慮哪些東西。
公司最近安排了一波商品搶購活動,由于后臺小哥操作失誤最終導(dǎo)致活動效果差,被用戶和代理商投訴了。經(jīng)理讓我?guī)聜円黄饛?fù)盤這次線上事故,于是……
引入任何一種技術(shù)都是存在風(fēng)險的,分庫分表當(dāng)然也不例外,除非庫、表數(shù)據(jù)量持續(xù)增加,大到一定程度,以至于現(xiàn)有高可用架構(gòu)已無法支撐,否則不建議大家做分庫分表,因?yàn)樽隽藬?shù)據(jù)分片后,你會發(fā)現(xiàn)自己踏上了一段踩坑之路,而分布式主鍵 ID 就是遇到的第一個坑。
開發(fā)一般都會借助一些工具,協(xié)助開發(fā)并提高開發(fā)效率,今天就來給大家介紹幾款Linux比較實(shí)用的工具。
看一份源碼什么很重要?除了各種代碼規(guī)范之外,還有一個比較重要的就是注釋。
2010年,幾個搞IT的年輕人,在美國舊金山成立了一家名叫“dotCloud”的公司。這家公司主要提供基于PaaS的云計(jì)算技術(shù)服務(wù)。具體來說,是和LXC有關(guān)的容器技術(shù)。
為什么 github 下載速度這么慢?如何提高 github 的下載速度?
我們會通過/proc文件系統(tǒng)找到正在運(yùn)行的進(jìn)程的字符串所在的虛擬內(nèi)存地址,并通過更改此內(nèi)存地址的內(nèi)容來更改字符串內(nèi)容,使你更深入了解虛擬內(nèi)存這個概念!這之前先介紹下虛擬內(nèi)存的定義!
本篇通過C語言實(shí)現(xiàn)一個簡單的進(jìn)程5狀態(tài)模型的狀態(tài)機(jī),讓大家熟悉一下狀態(tài)機(jī)的魅力。
本文介紹幾款Linux比較實(shí)用的工具,希望有所幫助。
最近在公司維護(hù)的項(xiàng)目中碰到一個解決了定位很久的bug , bug找到的時候發(fā)現(xiàn)犯了很低級的錯誤——在中斷處理函數(shù)中調(diào)用了printf函數(shù),因?yàn)橹袛嗵幚砗瘮?shù)的調(diào)用了不可重入函數(shù),導(dǎo)致中斷丟失和系統(tǒng)位置錯誤,這里直接導(dǎo)致嵌入式linux系統(tǒng)應(yīng)用進(jìn)程中的所有線程停掉,進(jìn)而導(dǎo)致看門狗進(jìn)程得不到喂狗,設(shè)備重啟。
本節(jié)主要是分享光城的實(shí)習(xí)期間如何快速閱讀一些源代碼,以及快速閱讀一些開源庫。
PID,就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見的控制算法。
在使用 lvgl 庫的時候,筆者使用的V7版本的庫,使用過程中發(fā)現(xiàn)網(wǎng)上關(guān)于V7版本的資料非常少,官網(wǎng)有文檔介紹其如何使用,但有些方面還不是很全面,而且網(wǎng)上現(xiàn)在的中文教程大多數(shù)是針對于V6版本的,V6和V7使用上的差異在有些方面還是挺大的,所以筆者也就想把自己在使用V7版本的庫的時候的一些心得記錄下來。
es在數(shù)據(jù)量很大的情況下(數(shù)十億級別)如何提高查詢效率啊?這個問題是肯定要問的,說白了,就是看你有沒有實(shí)際干過 es,因?yàn)樯叮科鋵?shí) es 性能并沒有你想象中那么好的。
單片機(jī)程序?qū)懞弥?,我們都要把程序下載到單片機(jī)的內(nèi)存中,單片機(jī)才會按照程序員的邏輯執(zhí)行命令實(shí)現(xiàn)功能。之前也講過下載單片機(jī)的幾種方式,比如ISP下載,JTAG下載,下載文件的格式最常見的是hex文件,這個格式大家都是知道的,還有一種bin文件是單片機(jī)的下載文件。本文詳細(xì)介紹了這兩種格式的區(qū)別。