第九章 列印輸出實驗 1)實驗平臺:正點原子DNK210開發板 2)章節摘自【正點原子】DNK210使用指南 - CanMV版 V1.0 3)購買鏈接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套實驗源碼+手冊+視頻下載地址:http ...
第九章 列印輸出實驗
1)實驗平臺:正點原子DNK210開發板
2)章節摘自【正點原子】DNK210使用指南 - CanMV版 V1.0
3)購買鏈接:https://detail.tmall.com/item.htm?&id=782801398750
4)全套實驗源碼+手冊+視頻下載地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html
5)正點原子官方B站:https://space.bilibili.com/394620890
6)正點原子K210技術交流企鵝群:605557868
本章節為實驗篇的第一章,將通過列印輸出實驗為後續實驗中的交互打下基礎。通過本章的學習,讀者將學習到CanMV中print()函數的使用。
本章分為如下幾個小節:
9.1 列印輸出函數介紹
9.2 硬體設計
9.3 程式設計
9.4 運行驗證
9.1 列印輸出函數介紹
在CanMV的使用過程中,為了方便觀察腳本程式的運行情況,通常需要通過串口等方式,展示腳本程式運行過程中的數值、字元串等數據信息。
為此,CanMV提供了print()函數,print()函數用於列印輸出指定的文本流數據,print()函數如下所示:
print(*objects, sep=' ', end='\n', file=sys.stdout)
print()函數的作用是將objects中的所有對象轉換為字元串,然後以sep進行分隔併在末尾加上end後列印輸出至file指定的文本流。
若在函數調用時,沒有提供sep、end、file,則print()函數將使用上面展示的預設值,其中,sep和end必須都是字元串,file必須是一個具有write(string)方法的對象。
從上面可以看到,print()函數file參數的預設值為sys.stdout,也就是系統的標準輸出,系統的標準輸出中write(string)方法的實現是將文本流數據通過UARTHS進行輸出,當然也可以在調用print()函數時通過file參數指定為其他對象,例如打開的文件等。
下麵列出print()函數的使用示例:
>>> print('Hello, World!')
Hello, World!
>>> print('Hello', 'World', sep=', ', end='!\n')
Hello, World!
>>> f = open('/flash/log.txt', 'w')
>>> print("Hello, World!", file=f)
>>> f.close()
>>> f = open('/flash/log.txt', 'r')
>>> print(f.read())
>>> f.close()
Hello, World!
9.2 硬體設計
9.2.1 常式功能
1.使用print()函數,在CanMV的“串列終端”視窗中輸出“Hello, DNK210!\n”
2.使用print()函數,將“Hello, DNK210!\n”寫入/flash/test.txt文件中
9.2.2 硬體資源
本章實驗內容,主要講解print()函數的使用,無需關註硬體資源。
9.2.3 原理圖
本章實驗內容,主要講解print()函數的使用,無需關註原理圖。
9.3 程式設計
9.3.1 print()函數
有關print()函數的介紹,請見第9.1小節《列印輸出函數介紹》。
9.3.2 程式流程圖
圖9.3.2.1 列印輸出實驗流程圖
9.3.3 main.py代碼
main.py中的腳本代碼如下所示:
# 列印輸出到系統標準輸出
print('Hello, DNK210!')
# 列印輸出到文件
f = open('/flash/test.txt', 'w')
print('Hello, DNK210!', file=f)
f.close()
可以看到,首先通過print()函數將字元串“Hello, DNK210!”列印輸出至系統標準輸出,然後打開文件“/flash/test.txt”,再通過print()函數將字元串“Hello, DNK210!”列印輸出至文件後關閉文件。因此在腳本運行後,應該能夠通過CanMV IDE的“串列終端”視窗看到輸出了“Hello, DNK210!”字元串,並且字元串“Hello, DNK210!”將會被寫入文件“/flash/test.txt”中。
9.4 運行驗證
將DNK210開發板連接CanMV IDE,並點擊CanMV IDE上的“開始(運行腳本)”按鈕後,可以看到“串列終端”視窗中輸出了“Hello, DNK210!”的字元串,如下圖所示:
圖9.4.1 “串列終端”視窗列印輸出
同時,字元串“Hello, DNK210!”也被寫入文件“/flash/test.txt”中,該文件可以通過以下腳本進行查看:
# 列印輸出到文件
f = open('/flash/test.txt', 'r')
print(f.read())
f.close()
運行後,如下圖所示:
圖9.4.2 “/flash/test.txt”文件中的內容