原创 STM32學習筆記7 --------- DMA(直接存儲器訪問)

DMA主要功能: 傳輸數據,但不需要佔用CPU。 數據支持從外設到存儲器或者從存儲器到存儲器(SRAM或Falsh) DMA控制器獨立於內核,包含DMA1和DMA2,其中DMA1有7個通道,DMA2有5個通道,可看成傳輸數據的管道

原创 Python爲什麼不支持函數重載?

在考慮爲什麼Python不提供函數重載前,我們要研究爲什麼需要提供函數重載。 在靜態語言中,方法重載是希望類可以以統一的方式處理不同類型的數據提供可能性。多個同名函數同時存在 函數重載主要解決兩個問題: 可變參數類型 可變參數個數

原创 STM32學習筆記6 --------- NVIC中斷優先級管理

CM3內核支持256箇中斷,其中包含了16個內核中斷和240個外部中斷,並且具有256級的可編程中斷設置。但是STM32並沒有使用CM3內核的全部東西,而是隻用了它的一部分。STM32有84箇中斷,包括16個內核中斷和68個可屏蔽中斷

原创 STM32學習筆記5 --------- 外部中斷

如何將STM32的IO口作爲外部中斷輸入? 外部中斷/事件控制器(EXTI)由19個產生事件/中斷要求的邊沿檢測器組成。每個輸入線可以獨立地配置輸入類型(脈衝或掛起)和對應的觸發事件(上升沿或下降沿或者雙邊沿都觸發)。每個輸入線都可以

原创 Python的創建型設計模式學習筆記

關乎對象創建方式的設計模式就是"創建型設計模式", 有時候需要以更靈活的方式來創建對象,這正是創建型設計模式的用途。 文章目錄1、抽象工廠模式2、建造者模式3、工廠方法模式4、原型模式5、單例模式 1、抽象工廠模式 "抽象工廠模式"用

原创 STM32學習筆記5-------MDK的編譯過程及文件類型

首先複習一下C語言的編譯過程: 我們寫出的C語言代碼(.c文件),若要在機器上運行,需要經過一個編譯過程,主要分爲如下四個階段(預處理、編譯、彙編、鏈接): 預處理階段,即完成宏定義和include 文件展開等工作;生成.i文件。G

原创 原 STM32學習筆記3 ------------ STM32標準庫

基於Cortex系列芯片採用的內核都是相同的,區別主要爲核外的片上外設的差異,而這些差異導致軟件在同內核、不同外設的芯片上移植困難。爲解決不同的芯片廠商生產的Cortex位控制器軟件的兼容性問題,ARM與芯片廠商建立了CMSIS(Co

原创 STM32學習筆記2--------使用寄存器點亮LED

啓動文件(startup_stm32f10x_hd.s) 當STM32芯片上電啓動的時候,首先會執行這裏的彙編程序,從而建立起C語言的運行環境。該文件使用的彙編指令是Cortex-M3內核支持的指令,可參考《Cortex-M3權威指南

原创 STM32學習筆記1--------GPIO

STM32GPIO口8種模式細緻分析 GPIO ----------- 通用輸入輸出端口(可控引腳) 最基本輸出功能:控制引腳輸出高、低電平,實現開關控制。 最基本的輸入功能:檢測外部輸入電平。 GPIO基本結構分析: 1.保護二

原创 PyQt5項目開發筆記

QDialog 中模態與非模態對話框 模態與非模態對話框 模態對話框 模態對話框是隻能首先對其進行操作後才能操作其他窗口的對話框。實質是父線程在子線程創建這個模態對話框後,父線程阻塞,等待子線程的操作。 非模態對話框 非模態對話框則是

原创 Linux下控制打印機筆記

管理打印機和打印 ubuntu環境下把word文檔轉換成pdf 在linux中如何使用CUPS進行打印 CUPS(Common UNIX Printing System)通用打印系統**,是linux的打印機和打印作業管理器。LPD(

原创 PyQt5實戰筆記

Label的文字字體水平垂直居中 self.wait_lab.setAlignment(QtCore.Qt.AlignCenter) self.wait_lab.setAlignment(QtCore.Qt.AlignHCenter|

原创 用python對S曲線加減速建模

from scipy import integrate import matplotlib.pyplot as plt import numpy as np %matplotlib inline def sigmoid(x, a):

原创 python靜默打印pdf

import win32api import win32print def print_pdf(self, pdf_file_name): """ 靜默打印pdf :param

原创 windows平臺下的Word轉pdf

from win32com import client from os import path, remove import os def docx2pdf(docx_name, pdf_name): ''' wor