回顧前面用SPI2寫的一個W25Q64的程序
void SPI2_Init(void)
{ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //PB13/14/15復(fù)用推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB
GPIO_SetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15); //PB13/14/15上拉
void W25QXX_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOG, ENABLE );//PORTB時鐘使能
GPIO_InitStructure.GPIO_Pin = CS_GPIOPIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(CS_GPIO, &GPIO_InitStructure);
#define CS_GPIO GPIOG
#define CS_GPIOPIN GPIO_Pin_1
可以看到用到的4根線的層次是不同的。PB13 PB14 PB15用于SPI通訊的時鐘和數(shù)據(jù),而片選是單獨的,是PG1
現(xiàn)在我們仔細看看淘寶買的這個屏幕。它其實有3個SPI設(shè)備
觸控屏
SD卡
Flash
現(xiàn)在試試改動前面的SPI程序,在做一個新的吧。
看屏幕的部分,也是SPI2:可以看到用到的4根線的層次是不同的。PB13 PB14 PB15用于SPI通訊的時鐘和數(shù)據(jù),而片選是單獨的,是PB12。
開始接線:
屏幕 MCU
MOSI B15
MISO B14
CLK B13
F_CS B12
軟件發(fā)現(xiàn)只需要修改配置就可以直接work
//用SPI2也就是PB13-14-15和PG1作為CS驅(qū)動flash 可讀可寫
//移植修改部分
#define CS_GPIO GPIOB
#define CS_GPIOPIN GPIO_Pin_12
#define W25QXX_CS PBout(12) //W25QXX的片選信號
//#define CS_GPIO GPIOG
//#define CS_GPIOPIN GPIO_Pin_1
//#define W25QXX_CS PGout(1) //W25QXX的片選信號
現(xiàn)在我們來做另外一個事情:
主機有多個SPI設(shè)備,比如我MCU現(xiàn)在就有2個FLASH 我要分開操作了。
格局有點大,我們現(xiàn)在做小一點。主要是PICK那一個,也就是片選這個函數(shù)你用哪個腳。
改動1
#define CS_GPIO GPIOB
#define CS_GPIOPIN GPIO_Pin_12
#define W25QXX_CS(a) a?PBout(12):PGout(1) //W25QXX的片選信號
#define CS_GPIO2 GPIOG
#define CS_GPIOPIN2 GPIO_Pin_1
主要是現(xiàn)在我傳參進去W25QXX_CS(a) 傳1的話代表是屏幕上電FLASH 傳0的話代表的是板上的FLASH
改動2
GPIO_InitStructure.GPIO_Pin = CS_GPIOPIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Pin = CS_GPIOPIN2;
GPIO_Init(CS_GPIO2, &GPIO_InitStructure);
兩個設(shè)備的CS都要init。
出問題卡住了:
#define W25QXX_CS(a) (a?PBout(12):PGout(1)) //W25QXX的片選信號
這樣定義以后,編譯失敗
這是C語言的知識。
1 #include 2 int A,B; 3 #define wm(a) a?A:B 4 void main() 5 { 6 printf("%dt%dn",A,B); 7 wm(1)=3; 8 printf("%dt%dn",A,B); 9 }報錯!左值是常量!?。?! 1 #include 2 int A,B,C; 3 #define wm(a) (a)?(A):(B) 4 void main() 5 { 6 printf("%dt%dt%dn",A,B,C); 7 C=wm(1); 8 printf("%dt%dt%dn",A,B,C); 9 }可以的 成功執(zhí)行!?。?p> 1 #include 2 int A,B,C; 3 #define wm(a) A 4 void main() 5 { 6 printf("%dt%dn",A,B); 7 wm(1)=3; 8 printf("%dt%dn",A,B); 9 } ~ 可以的 1 #include 2 int A,B,C; 3 #define wm(a) C=a?A:B 4 void main() 5 { 6 printf("%dt%dn",A,B); 7 wm(1)=3; 8 printf("%dt%dn",A,B); 9 }問題依舊 ~ ~ 1 #include 2 int A,B,C; 3 #define wm(a,A,B) (a)?(A):(B) 4 void main() 5 { 6 printf("%dt%dn",A,B); 7 wm(1,A,B)=3; 8 printf("%dt%dn",A,B); 9 } ~ ~ 企圖傳參進去 問題依舊 1 #include 2 int A,B,C; 3 #define wm(choice,value) (choice)?((value?A=1:A=0)):(value?B=1:B=0) 4 void main() 5 { 6 printf("%dt%dn",A,B); 7 C=wm(1,1); 8 printf("%dt%dn",A,B); 9 } ~ ~ 問題依舊 那就這樣吧。。。。
上一篇:秉火429筆記之十 EXTI-外部中斷/事件
下一篇:STM32學習雜記-SPI的4種模式
推薦閱讀
史海拾趣
隨著生產(chǎn)規(guī)模的擴大,岑科在2010年將制造板塊遷移至廣西,以進一步優(yōu)化企業(yè)資源配置。這一舉措不僅降低了生產(chǎn)成本,還提高了生產(chǎn)效率。同時,岑科加速了自主創(chuàng)新和技術(shù)進步的步伐,不斷推出更具競爭力的電子產(chǎn)品。在這一階段,岑科的產(chǎn)品質(zhì)量和性能得到了市場的廣泛認可,客戶滿意度也持續(xù)提升。
隨著硬件設(shè)計和驗證領(lǐng)域的發(fā)展,SystemVerilog逐漸成為行業(yè)內(nèi)的主流語言。Einfochips公司敏銳地捕捉到了這一趨勢,并決定為客戶提供從其他傳統(tǒng)語言和環(huán)境轉(zhuǎn)變到SystemVerilog的驗證遷移服務(wù)。這一服務(wù)的推出,不僅幫助客戶提高了設(shè)計和驗證效率,還進一步擴大了Einfochips在硬件設(shè)計和驗證領(lǐng)域的市場份額。
FMI深知技術(shù)創(chuàng)新是企業(yè)發(fā)展的核心動力。因此,公司一直致力于在石英晶體和晶體振蕩器領(lǐng)域進行技術(shù)研發(fā)和創(chuàng)新。通過不斷的技術(shù)積累和優(yōu)化,F(xiàn)MI成功開發(fā)出了一系列高性能、高穩(wěn)定性的產(chǎn)品,如壓控溫度補償晶體振蕩器(VCTCXO)、壓控晶體振蕩器(VCXO)、溫度補償晶體振蕩器(TCXO)等。這些產(chǎn)品的推出不僅豐富了FMI的產(chǎn)品線,還進一步提升了公司在行業(yè)內(nèi)的競爭力。
面對日益激烈的市場競爭和客戶需求的變化,Delphi Connection Systems公司積極推進數(shù)字化轉(zhuǎn)型。公司引入先進的生產(chǎn)管理系統(tǒng)和智能化設(shè)備,實現(xiàn)了生產(chǎn)過程的自動化和智能化。這不僅提高了生產(chǎn)效率和質(zhì)量穩(wěn)定性,也降低了生產(chǎn)成本和人力需求。數(shù)字化轉(zhuǎn)型使公司更加靈活和高效地應(yīng)對市場變化,為未來的發(fā)展奠定了堅實基礎(chǔ)。
面對快速變化的電子行業(yè)市場,科通技術(shù)始終堅持以技術(shù)創(chuàng)新為驅(qū)動,不斷推動公司的轉(zhuǎn)型升級。公司加大在研發(fā)方面的投入,積極引進先進的技術(shù)和設(shè)備,提升產(chǎn)品的技術(shù)含量和附加值。同時,科通技術(shù)還不斷拓展業(yè)務(wù)領(lǐng)域,從單一的元器件分銷逐漸發(fā)展到提供全方位的技術(shù)整合方案和應(yīng)用方案,為客戶提供更加全面、專業(yè)的服務(wù)。
隨著技術(shù)的不斷進步和市場的日益成熟,E-T-A公司的產(chǎn)品線也逐漸擴展。公司不僅繼續(xù)深耕斷路器領(lǐng)域,還推出了包括保護控制器、流量和液位傳感器等一系列新產(chǎn)品。同時,公司也開始積極拓展全球市場,通過設(shè)立分支機構(gòu)和辦事處,為全球客戶提供更便捷的服務(wù)和支持。
學習使用單片機就是理解單片機硬件結(jié)構(gòu),在匯編或C語言中學會各種功能的初始化設(shè)置,以及實現(xiàn)各種功能的程序編制。 第一步:數(shù)字I/O的使用 使用按鈕輸入信號,發(fā)光二極管顯示輸出電平,就可以學習引腳的數(shù)字I/O功能,在按下某個 ...… 查看全部問答∨ |
|
創(chuàng)意防盜門鎖-V Lock導(dǎo)向門鎖 創(chuàng)意防盜門鎖-V Lock導(dǎo)向門鎖欣賞 很多人都有晚上回家,卻拿著鑰匙找不到門鎖鎖孔的經(jīng)歷。由于受到日式恐怖片和其他鬼怪故事的熏陶,總感到背后一陣陣發(fā)涼,此時鑰匙更是找不到門鎖的鎖孔。中國設(shè)計師張俊杰 (Junjie Zhang)帶來的創(chuàng)意防盜門鎖-V L ...… 查看全部問答∨ |
現(xiàn)在的世界趨向“綠色”,其中三個廣受大眾關(guān)注的議題包括:能源效率、照明效率及太陽能。 2010年最具發(fā)展?jié)摿Φ膽?yīng)用都是圍繞這三大主題,例如替代性能源、可攜式消費性電子裝置、無線通信基礎(chǔ)設(shè)施、電動車與油電混合 ...… 查看全部問答∨ |
問題沒解決?。。?!數(shù)據(jù)采集?。。?/a> 還請各位大俠幫忙?。]解決..... 我將代碼進行了修改。 代碼直接從頭執(zhí)行到尾,由串口調(diào)試助手觀察采集的數(shù)據(jù)是錯誤的,無論是連接仿真器執(zhí)行還是自主運行都是錯誤的。 但是,利用仿真器分段執(zhí)行,過程中進入數(shù)據(jù)采集的函數(shù),但并不繼續(xù)在其 ...… 查看全部問答∨ |
設(shè)計資源 培訓 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 上汽大眾:汽車網(wǎng)絡(luò)安全漏洞防護
- 恩智浦推出全新電池控制IC系列 助力新能源解決方案發(fā)展
- 全球首條GWh級新型固態(tài)電池生產(chǎn)線樣件下線
- 總投資455億元!三大動力電池項目齊刷進度條
- 現(xiàn)代汽車韓國建氫燃料電池廠,2028年投產(chǎn)
- 6月融資一覽:智能汽車芯片、第三代半導(dǎo)體、機器人成資本焦點
- 艙駕一體“點燃”新戰(zhàn)事
- 汽車智能化2.0引爆「萬億蛋糕」,誰在改寫游戲規(guī)則?
- 2025研華智能系統(tǒng)產(chǎn)業(yè)伙伴峰會成功舉辦
- 意法半導(dǎo)體公布2025年第二季度財報和電話會議時間安排
- 將低功耗設(shè)計進行到底——評論、轉(zhuǎn)發(fā)贏大禮!
- 芯幣競拍:感恩教師節(jié)專場
- Keysight示波器主題月有獎系列活動之 注冊大獎天天抽 搶樓踩中亦有獎
- Microchip有獎直播:VectorBlox™ SDK 報名中
- 有獎直播|ADI 慣性MEMS應(yīng)用那些事
- 借助 Microchip 生態(tài)系統(tǒng)中的 PIC® 和 AVR® 單片機開啟嵌入式到云端之旅 系列在線研討會
- 帶你零起點入門STM32(專為嵌入式應(yīng)用而開發(fā)的內(nèi)核)
- 福祿克首款熱成像萬用表Fluke-279FC 即將上市!填寫問卷贏好禮嘍!
- EEWorld Datasheet 伴你同行!快來領(lǐng)取200芯積分福利啦~
- 泰克福袋:示伴功倍,萬能福袋派送中
- 芯片走私案頻發(fā)!身綁256枚英特爾的CPU走私被海關(guān)查獲
- 斯達半導(dǎo)不超過35億元定增募資申請獲證監(jiān)會受理
- 勁拓股份:和海思半導(dǎo)體簽訂合作備忘錄
- 注冊資本3億元,立訊精密成立了芯片公司
- 聞泰科技進軍半導(dǎo)體設(shè)備領(lǐng)域 由安世成立獨立設(shè)備制造商ITEC
- 諸暨智造機器人“小艾”成網(wǎng)紅 亮相冬奧會“北京8分鐘”
- 中國半導(dǎo)體激光產(chǎn)業(yè)發(fā)展現(xiàn)狀分析
- “北京8分鐘”機器人團隊:客場作戰(zhàn)壓力大 一天刷十幾次天氣預(yù)報
- 機器學習能重建量子系統(tǒng)首次證明
- 7人團隊操控24個機器人 “沈陽智造”挑戰(zhàn)不可能