原创 樹莓派和單片機的藍牙通信

首先運行sudo apt-get install bluez看看bluez是不是最新的版本。 然後使用hciattach工具進行藍牙的初始化hciattach /dev/ttyAMA0 bcm43xx 921600 noflow

原创 rtx51tiny筆記

1.task進入running狀態後,task上的signal標誌會自動clear。 2.task有五種狀態:running,waiting,ready,deleted,time-out.程序一開始運行,task0處於runnin

原创 keil編譯優化等級及查看彙編代碼

keil優化等級修改: project->options->c51->Code Optimization Level 其中0級(Constan folding)的優化包括: a、常數摺疊:只要有可能,編譯器就執行將表達式化爲常數數

原创 在運行ubuntu-18.04的樹莓派上播放聲音

首先我們要在/boot/firmware/config.txt這個文件中加入dtparam=audio=on。 終端命令爲:sudo nano /boot/firmware/config.txt。 添加完之後,我們只需要重啓樹莓派

原创 rosdep init時website may be down解決方案

說明 在安裝ros的過程中,rosdep init失敗是一個非常有名的問題,我們會收到website may be down的提示。 作者來來回回安裝了3次ros了,每次都要在rosdep init這一步卡很久,雖然作者並不懂這方

原创 VMware虛擬機走主機代理

說明 很多時候我們在主機上完成了代理的配置,爲了我們在虛擬機上能夠方便的進行研究,我們想讓虛擬機也走代理。 原理大概是讓虛擬機和主機處於同一個局域網中,將虛擬機中的流量轉發到主機上,這時主機的代理軟 件監聽到局域網內的請求,就會把

原创 51單片機printf重定向

從keil的幫助文檔裏我們可以看到,printf是基於putchar實現的,所以我們只要重新實現putchar,就可以實現printf的重定向,即可以將printf用在其他串口上。 putchar的函數實現在…/C51/LIB下

原创 樹莓派的藍牙通訊(bluez、gattlib)

目錄 一.準備工作 二.利用藍牙工具進行調試 三.編譯使用gattlib 一.準備工作 我使用的藍牙模塊是大夏龍雀的DX-BT16,支持BLE4.2協議。樹莓派的型號爲4b,操作系統爲64位的ubuntu-18.04。 提前

原创 STC單片機程序下載原理與自動下載

一.stc單片機下載程序的原理 在stc單片機中有兩個程序區:用戶程序區和ISP監控程序區。 這是STC89C52單片機數據手冊中的內容。 根據數據手冊,我們可以知道,當冷啓動或者對ISP_CONTR寄存器送入60H(STC12、

原创 PCB製作經驗總結

[get it!助盲系統 pcb_V1.0] 在製作項目的硬件部分的過程中,遇到了一些問題,也總結了一些經驗,在這裏記錄一下。 一.pcb和原理圖庫的創建 1.在畫板子的過程中,不斷積累自己的通用封裝庫,除非是比較特殊的封裝,不

原创 用vscode調試時報錯"無法打開 'ioputs.c' "

分析錯誤,我們可以看到是缺少glibc庫造成的,所以我們只需要在網上安裝好相應的文件放到指定位置就可以了。 su mkdir -p /build/glibc-OTsEL5 cd /build/glibc-OTsEL5 wget

原创 樹莓派上安裝ubuntu與vscode

安裝ubuntu系統: 1/首先去ubuntu官網(https://ubuntu.com/)上下載ubuntu系統鏡像,這裏我們需要下載的是ubuntu for iot版本的。 https://ubuntu.com/downloa

原创 單片機利用串口打印變量進行快速調試

1/代碼部分 serve.h #ifndef __SERVE_H__ #define __SERVE_H__ /* datatype */ typedef unsigned char uint8_t; typedef unsi

原创 OJ上runtime error報錯原因

除了老生常談的那5條 1、數組開得太小了,導致訪問到了不該訪問的內存區域 2、發生除零錯誤 3、大數組定義在函數內,導致程序棧區耗盡 4、指針用錯了,導致訪問到不該訪問的內存區域 5、還有可能是程序拋出了未接收的異常 作者還發現了

原创 AD Undeclared identifier: GetFontID 問題解決方法

從TI往AD中導入元件以後運行腳本出現這樣的錯誤 我們會發現運行到這一行出現了錯誤 解決方法很簡單:將這一行註釋掉,停止運行,然後保存一下再重新運行就可以了。 點贊 收藏 分享 文章舉報