CY8C42(1.PSoC4 Pioneer Kit開箱及基本使用)

1.開箱

最近了解到賽普拉斯有一種芯片,屬于PSoC系列,與傳統MCU不同,有點類似跨界芯片,于是就買來玩玩了,老實說用完還是很特別的,因為我沒有用過FPGA,不確定是不是FPGA的開發流程(有玩過FPGA的老哥可以說說)

那么為啥選擇這一塊板子呢?

首先是CY8C42有可編程模擬和數字模塊,這是用這個芯片最核心的地方

還有就是好買啊,我在咸魚上100能拿到手

這是實際的樣子,還不錯,挺新的

如果大家想看看PSOC4系列其他芯片的特點可以去這個網站,介紹的比較齊全

Cypress PSoC? 4微控制器芯片方案 - 產品亮點 - DigiKey得捷電子

2.安裝IDE與創建工程

首先我們要去下載官方的軟件Psoc creator,鏈接在下面

PSoC? Creator - Infineon Technologies

然后就是下載安裝一條龍,沒啥好說的

然后我們找到軟件雙擊打開

進到主界面后點擊生成一個工程

在跳出來的窗口中選擇連接的芯片,選擇Psoc4再最后一個對話框中我們可以看到有非常多的4200系列,當選擇一個芯片后我們可以在對話框的最上端看到芯片,我這里是4245芯片,大家看到合適的就行。

點擊next后在下一個對話框里選擇empty schematic

然后填入工工作區名稱,路徑,工程名稱,之后點擊finish

當我們進入到一個類似于空白的原理圖就表示我們工程創建成功了,我這里是因為把周邊的框都折疊起來了,所以比較空,第一次周邊應該都是各種框。

3.導入官方例程

依然是創建新工程,并選擇芯片

選擇code example

然后就是官方的例程了,我們可以在filter輸入我們要找的內容

比如最簡單的led

點擊next,這是你要導入的路徑

點擊finish,可以看到例程導入成功了

4.環境介紹

在開始前我們首先要對整個工程進行編譯,在對話框的左上角可以找到

這是沒有編譯前的工程

這是編譯后的工程

可以明顯看到多出了非常多的東西,這些是我們使用芯片必不可少的東西,關于這些文件的用法,一會我來具體介紹

下圖我所框出來的東西都是和硬件相關的,Psoc的使用并非完全由程序控制,反而是由硬件導向的,我們在寫程序前必須要先配置相關硬件,再由IDE根據我們配置的硬件創建相關程序文件,我們的程序文件只是用來控制硬件何時開啟的,這一點與傳統的MCU非常不同

5.初始化

5.1管腳配置

首先我們先配置管腳,雙擊TopDesign(下面稱為原理圖)

然后我們在右側器件對話框里搜索pin,因為我們是led輸出,因此這里找到數字輸出管腳

點擊并拖拽到原理圖空白位置

之后我們雙擊管腳進行配置

我們對管腳進行修改,修改名稱,模式設置為上拉模式,并設置額外延展

點擊OK,我們可以看到管腳修改成功了

然后我們找到左側pins,雙擊進入

可以看到我們剛剛創建的管腳

但是此時還沒有關聯到實際的管腳,我們要映射到物理的管腳上

在開發板上,板載了一個RGB燈,原理圖如下

這里我以P1.6介紹了,也就是紅燈

我們在ide的右側點擊port,并選擇P1.6

可以看到管腳已經映射上去了

我們重新回到原理圖界面,可以看到,管腳已經改為1.6

5.2PWM模塊

下一步我們PWM模塊

在元器件框里搜索PWM

拖入原理圖中

雙擊pwm模塊來進行設置

我們先可以設置名稱

然后我們對對PWM進行設置

點擊PWM頁面,進入下圖界面

我們需要對下圖的這些參數進行設置

此處的2000表示增加到2000就復位,1000就是PWM值,那么占空比也就是50%

點擊OK完成設置

5.3時鐘

我們的PWM需要時鐘源,因此找到clock

拖到原理圖上

雙擊clock設置頻率

點擊OK完成設置

5.4中斷

在對話框中搜索interrupt,找中斷

拖到原理圖中

雙擊中斷進行設置,我們只需要設置名稱

原理圖中也同步過來了

5.5連接原理圖

連接線在左側

按照下圖連接

6.程序

在開始前我們要先編譯一些工程,并生成對應的文件,這些根據我們剛剛設置的模塊創建的,也是我們一會寫程序根據。

雙擊左側main.c打開程序

首先是添加頭文件,比如這里我們模塊的名稱是pwm

假如我們在原理中將模塊重新改名為AA,可以看到PWM消失了,取而代之的是AA,如果這時添加PWM頭文件就會報錯

下面我們將各類頭文件添加進去

下面我們就可以開始寫程序了

這里并沒有什么固定的函數,因為所有函數都是根據你的硬件原理圖而做出來的函數,大家在復雜項目里肯定不一樣!!

我們看初始化,這一句是初始化中斷

這個函數原型在PWM中斷文件里(我這里是PWM_TC)

參數則是根據你寫的來,保證這里一樣就行,初始化的參數是根據中斷服務函數來的,中斷服務函數我一會介紹

然后是開啟PWM

這個函數在PWM文件里(我這里是PWM.c)

最后我們來看中斷服務函數,函數名是固定的,這是系統決定的(類似STM32)然后參數就是給初始化用的

之后就是清空PWM中斷,在PWM文件里

這個函數的參數是固定的,是系統決定,無論你用什么都一樣

?7.編譯與下載

編譯的時候我們總是能看到是編譯其他工程

我們選擇我們主要編譯的工程,選擇第一個工程,set it active,可以看到需要的工程加粗了

此時編譯的就是我們要的工程了

編譯完成后我們可以下載和仿真了

8.效果

程序

#include "project.h"
#include "PWM.h"
#include "RGB_R.h"
#include "PWM_TC.h"CY_ISR(TC_ISR_Handler)
{/* Interrupt is cleared */ PWM_ClearInterrupt(PWM_INTR_MASK_TC);
}int main(void)
{/* Enable global interrupts. */CyGlobalIntEnable; /* Enable interrupt component and set up handler */PWM_TC_StartEx(TC_ISR_Handler);/* Start the PWM Component */PWM_Start();while(1){}
}
/* [] END OF FILE */

原理圖

實物

可以看到紅燈按照既定程序閃爍了

9.小結

官方對于程序也給出了對應的教程,我們導入對應的工程后也能出現對應的PDF

這就是官方給出的教程

總的來說Psoc的開發與傳統的MCU開發完全不是一個思路,可以說非常獨特,強調的核心并非程序而是硬件,感覺非常類似FPGA了(嗎?)我在網上完全搜不到這類的教程,后續我再看看可編程模擬與數字模塊,來看看有何獨特的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719495.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719495.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719495.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

怎樣理解vue2和vue3里的雙向數據綁定

在 Vue.js 中,雙向數據綁定意味著當數據變化時,視圖會自動更新;反之,當用戶通過視圖交互導致數據變化時,數據本身也會被更新。這種機制極大地簡化了用戶界面和數據之間的同步過程。 1. Vue2的實現 Vue2使用的是Objec…

MySQL的事務與隔離級別

1. 什么是事務? 數據庫中的事務是指對數據庫執行一批操作,而這些操作最終要么全部執行成功,要么全部失敗,不會存在部分成功的情況。這個時候就需要用到事務。 最經典的例子就是轉賬,你要給朋友小白轉 1000 塊錢&…

一代傳奇宗慶后:把員工寵成上帝

作者:積溪 琥珀酒研社快評: 梅子真是哭了 一代傳奇就此隕落 咱們又少了一個良心企業家 2月25日10時30分 娃哈哈集團創始人、董事長宗慶后 在杭州逝世,享年79歲 在過去一個多月的病危期間 他的病房里最顯眼的 不是呼吸機、檢測儀 而…

智慧城市中的公共服務創新:讓城市生活更便捷

目錄 一、引言 二、智慧城市公共服務創新的實踐 1、智慧交通系統 2、智慧醫療服務 3、智慧教育系統 4、智慧能源管理 三、智慧城市公共服務創新的挑戰 四、智慧城市公共服務創新的前景 五、結論 一、引言 隨著信息技術的迅猛發展,智慧城市已成為現代城市發…

技術總結: PPT繪圖

目錄 寫在前面參考文檔技巧總結PPT中元素的連接立方體調整厚度調整圖形中的文本3D 圖片調整漸變中的顏色 寫在前面 能繪制好一個好看的示意圖非常重要, 在科研和工作中好的示意圖能精準表達出自己的想法, 減少溝通的成本, 可視化的呈現也可以加強自身對系統的理解, 時間很久后…

分分鐘搞定JSON解析

json 庫能夠解析字符串或文本中的 JSON 內容。 該庫將 JSON 解析為 Python 字典或列表,也能將 Python 字典或列表轉換為 JSON 字符串。 解析 JSON 如下的 JSON 格式的字符串: json_string {"first_name": "Guido", "last_na…

【Web】速談FastJson反序列化中TemplatesImpl的利用

目錄 簡要原理分析 exp 前文:【Web】關于FastJson反序列化開始前的那些前置知識 簡要原理分析 眾所周知TemplatesImpl的利用鏈是這樣的: TemplatesImpl#getOutputProperties() -> TemplatesImpl#newTransformer() -> TemplatesImpl#getTransl…

瑞芯微RK3588 C++部署Yolov8檢測和分割模型

最近這一個月在研究國產瑞芯微板子上部署yolov8的檢測和分割模型,踩了很多坑,記錄一下部署的過程和遇到的一些問題: 1 環境搭建 需要的環境和代碼主要包括: (1)rknn-toolkit2-1.5.2:工具鏈&am…

微服務day04-基于Feign的遠程調用

一.Feign的認識 是http客戶端,因為使用RestTemplate存在一些問題:代碼可讀性差,參數配置費事,不夠優雅… String url"http://userservice/user/"order.getUserId(); User userrestTemplate.getForObject(url,User.cla…

01.23 校招 實習 內推 面經

綠*泡*泡VX: neituijunsir 交流*裙 ,內推/實習/校招匯總表格 1、蔚來24屆實習招聘特輯 | 軟件&算法類(內推) 蔚來24屆實習招聘特輯 | 軟件&算法類(內推) 2、校招 | 普天科技2024校園招聘 校招…

初始計算機組成原理

1.初始計算機組成原理 本人相關文章:Linux之計算機概論 聲明:大部分圖片均來自網絡,侵刪 一個完整的計算機系統包括硬件子系統和軟件子系統兩大部分。 組成一臺計算機的物理設備的總稱叫做計算機硬件子系統,是看得見摸得著的實體,是計算機工…

華工的各類型PPT模板

華工的各類型PPT模板,包括原創的PPT及改良內容的PPT,適合科研/比賽/組會匯報等 前言各種畢業答辯夏令營答辯復試答辯獎學金答辯比賽/項目答辯組會匯報 前言 設計不易,排版不易,內容編排不易 待更新項目1 原創聲明:不經…

【論文閱讀】(2006)Dual-Optimal Inequalities for Stabilized Column Generation

文章目錄 摘要一、介紹二、對偶最優不等式(Dual-Optimal Inequalities)三、確定P的最優原始解四、二元切割下料問題4.1 約束聚合4.2 相等約束4.3 計算結果 五、切割下料問題5.1 計算結果 六、三元組的深度對偶最優不等式(Deep Dual-Optimal I…

C/C++ 乘積尾零問題(藍橋杯)

如下的10行數據,每行有10個整數,請你求出它們的乘積的末尾有多少個零? 5650,4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6113 5659 5245 7432 3051 4434 6704 3594 9937 1173 6866 3397 4759 7557 3070 2287 1453 9899…

代碼隨想錄算法訓練營第三十六天|435. 無重疊區間, 763.劃分字母區間, 56. 合并區間

435. 無重疊區間 - LeetCode 思路: 本題是一個去除重疊區間的問題, 首先按照區間的 end_point 排序, 從第二個區間開始, 如果第二個區間和第一個區間有交集, 就要移除第二個區間。 因為容易證明之后的區間區間如果和…

做測試還是測試開發,選職業要慎重!

【軟件測試面試突擊班】2024吃透軟件測試面試最全八股文攻略教程,一周學完讓你面試通過率提高90%!(自動化測試) 突然發現好像挺多人想投測開和測試的,很多人面試的時候也會被問到這幾個職位的區別,然后有測…

每日五道java面試題之mysql數據庫篇(三)

目錄: 第一題. 百萬級別或以上的數據如何刪除?第二題. 前綴索引第三題. 什么是最左前綴原則?什么是最左匹配原則?第四題. B樹和B樹的區別第五題. 使用B樹和B樹好處 第一題. 百萬級別或以上的數據如何刪除? 關于索引:…

【設計】設計一個web版的數據庫管理平臺后端精要

需求 springboot設計開發一個系統,在這個系統的數據庫表中存放著2000個數據庫實例,有MySQL、Oracle、sql server3種數據庫類型,用戶可以在頁面上選擇不同的實例,連接這些實例上的數據庫,來執行業務sql 實現 Service…

光伏儲能MPPT控制系統如何進行浪涌靜電保護?

MPPT(Maximum Power Point Tracking)是太陽能電池板光伏發電系統中重要的一種控制技術。MPPT控制器能夠實時偵測太陽能板的發電電壓,并追蹤最高電壓電流值(VI),使系統以最大功率輸出對蓄電池充電&#xff0…

06 - ip route和route -n的區別

1 ip route和route -n的區別 ip route 和 route -n 都是用于查看和管理Linux系統路由表的命令。但下面是它們的區別: ip route:是Linux系統中的現代工具,它屬于iproute2套件;它提供了更多的選項,可以更精確地控制路由表…