原创 AtmelStudio 7 ASF庫學習筆記二:串口收發和printf打印

一、前言 這篇文章主要實現了串口單字節發送、printf格式化發送和通過接收中斷接收數據。 用到的工具如下: IDE:AtmelStudio 7 芯片:ATSAM4LS2C (M4內核,主頻48M) ASF版本:3.47 仿真器:JLin

原创 QT編寫TCP/UDP調試助手之UDP通信

效果圖:  QT編寫TCP/UDP調試助手之UDP通信,支持單播、組播和廣播三種通信模式。 一、前言 UDP(用戶數據報協議)是一種簡單輕量級、不可靠、面向數據報,無連接的傳輸層協議,也就是發送數據前不需要握手連接,只要知道IP和端口

原创 更新到Ateml Studio 7 後編譯# define OPTIMIZE_HIGH __attribute__((optimize(s)))報 錯誤的原因

一個Ateml 芯片的項目,原來開發用Ateml Studio 6編譯的,現在用Ateml Studio 7後編譯出錯#   define OPTIMIZE_HIGH __attribute__((optimize(s))) ,看起來跟優

原创 QT 卡死解決

QT和有道詞典有衝突,使用QT的時候不要用有道的取詞和劃詞功能,不然容易卡死。

原创 解決QT 代碼和變量中文亂碼的問題

一、代碼裏中文亂碼 代碼裏的中文字符串,例如: QString str_test="看看會不會亂碼123!!!"; QT在windows上一般用MSVC編譯,但是MSVC文本編碼採用GB2312或GBK編碼,所以可能出現亂碼,可

原创 QT壓縮和解壓ZIP學習筆記二:編譯quazip 32位和64位dll

一、前言 QuaZIP是使用Qt/C++對ZLIB進行簡單封裝的用於壓縮及解壓縮ZIP的開源庫。適用於多種平臺,利用它可以很方便的將單個或多個文件打包爲zip文件,且打包後的zip文件可以通過其它工具打開。 QuaZIP下載: https

原创 QT壓縮和解壓ZIP學習筆記一:編譯zlib庫,獲得32位和64位DLL

編譯環境:VS2017   一、官網下載zlib庫 http://www.zlib.net/ 解壓到一個好找的位置,這裏是直接放D盤。   二、命令行編譯32位dll 1.最常見的方式,開始菜單找到VS命令提示符工具,輸入cd 複製粘

原创 STM32F0利用C語言位域實現仿位帶操作,編寫STM32通用的sys.h,同正點原子的sys.h函數名和功能一致,方面程序移植

一、前言 平常使用STM32F1和F4,程序不少參考的正點原子的教程,代碼裏都包含頭文件他們的sys.h,這裏面主要是實現了stm32的位帶操作,位帶是啥,博主也沒深入研究,但是就是能直接讀寫GPIO口的某一位,例如: PAout(1)

原创 AtmelStudio 7 ASF庫學習筆記三:利用PDCA(DMA)實現串口不定長度收發

一、前言 DMA是單片機裏的好東西,能把CPU從不斷輪詢和數據傳輸中解放出來,大大提高了系統性能。用過STM32就知道串口接收可以利用DMA配合空閒中斷實現不定長度接收,數據通過DMA自動傳輸到緩存中,不用收到一個字節中斷一次,十分方面。

原创 AtmelStudio 7 ASF庫學習筆記一:新建工程、配置時鐘、下載程序和查看官方例程

一、前言 由於需要學習一下atmel的atsaml 系列,使用AtmelStudio 7開發,之前主要用STM32,現在看到Atmel的庫函數,其實是有許多相似之處。ASF3的庫對應ST的標準庫。ASF4對應ST的HAL庫,Ateml S

原创 QT編寫TCP/UDP調試助手之TCP客戶端

效果圖: TCP/UDP調試助手之TCP客戶端,支持錯誤信息顯示,斷開連接後及時釋放資源。 一、關鍵代碼 1.在.pro文件中添加QT += network,包含頭文件#include <QTcpSocket> 在類裏定義一個QTcpS

原创 QT 自定義類訪問UI控件的幾種方法

前言 QT創建窗體工程,一般在MainWindow或Dialog類裏可以直接通過ui指針訪問控件,但是添加新的類後又如何訪問呢,可以通過以下幾種方式: 1.將ui指針公開後直接訪問 (1)定義一個類CustomClass,在自定義類裏包含

原创 QT編寫TCP/UDP調試助手之多線程TCP服務器

效果圖: TCP/UDP調試助手之TCP Server,支持一對一,一對多通信,主動斷開客戶端;多線程讀寫數據,線程數可設置,停止監聽後及時釋放資源。 一、前言 一般的多線程TCP服務器,是連接一個客戶端,創建一個子線程,把它放到這個子

原创 STM32 使用CubeMX HAL庫快速生成USBVCP虛擬串口工程

一、前言 原來STM32USB開發很複雜,在標準庫上移植USB庫需要修改不少地方,但是現在用HAL庫,配合CubeMX就能快速生成USB工程了,這裏用STM32F1來實現Virtual_COM_Port虛擬串口。原理圖如下,STM32F1

原创 QCustomPlot使用心得六:框選放大,拖動,選中數據

一、先看效果圖 框取數據後,還可以按Ctrl追加數據點 二、原理 qcustomPlot是有鼠標選擇框功能的,只是默認是不使能,所以平常拖動鼠標沒有反應,調用setSelectionRectMode可以開啓選框,如下開啓: