国产W806 SPI主机/从机驱动程序

发布者:RainbowDreamer最新更新时间:2022-08-02 来源: csdn关键字:国产  SPI  主机  从机  驱动程序 手机看文章 扫描二维码
随时随地手机看文章

一段时间芯慌后国外芯片价格飙升,国内芯片厂突然崛起;乘此机会使用了该芯片做了一批产品,经过一段时间测试芯片稳定性还可以,工作在电磁环境较差的电源监控中没有出现复位死机现象。


关于该国产芯片资料实在是很少,官方对该芯片的pdf 寄存器描述非常简单;


SPI从机驱动程序:


void slave_spiInit(void)

{

__HAL_RCC_SPI_CLK_ENABLE();// enable SPI clk

// SPI GPIO MAP ...

__HAL_AFIO_REMAP_SPI_CS(GPIOB,GPIO_PIN_4);//NSS

__HAL_AFIO_REMAP_SPI_CLK(GPIOB,GPIO_PIN_24);//SCLK

__HAL_AFIO_REMAP_SPI_MOSI(GPIOB,GPIO_PIN_26);//MOSI

__HAL_AFIO_REMAP_SPI_MISO(GPIOB,GPIO_PIN_25);//MISO

WRITE_REG(SPI->CH_CFG,(1<<22));// clear fifo 

WRITE_REG(SPI->SPI_CFG,((1<<16)|//1’b1 spi输出一直有驱动,即使没有数据传输

(1<<1)|//1’b1:传输模式 B

(1<<0)));//1’b1 SCK IDLE 时为 1

    //补上:

    WRITE_REG(SPI->CH_CFG,(SPI_CH_CFG_RXON | SPI_CH_CFG_TXON)); // enable spi 

}

 

void slave_Send(uint32_t *dat, int len)

{

while(len--){

while((READ_REG(SPI->STATUS) & 0x3F)>=32){;}// 

WRITE_REG(SPI->TXDATA, (uint32_t)*dat++);

}

}

 

int slave_Recv(uint32_t *dat,int len)

{

uint32_t rxfifo_count =READ_REG(SPI->STATUS);

rxfifo_count =(rxfifo_count>>6)&0x3f;

rxfifo_count>>=2;

if(rxfifo_count>=len){

for(int i=0;i *dat++=SPI->RXDATA;

}

}

return rxfifo_count;

}

 

void main(void)

{

    int fifolen =0;

    uint8_t fifoDat[32]={0};

    slave_spiInit();

    do{

        fifolen =slave_Recv((uint32_t*)fifoDat,3);// SPI 收发必须是32 bit !

        if(fifolen>=3){//3*4byte =12 Byte

            slave_Send((uint32_t*)fifoDat,3);

        }

    }while(1);

}

SPI主机驱动程序:


void master_spiInit(void)

{

__HAL_RCC_SPI_CLK_ENABLE();// enable SPI clk

// SPI GPIO MAP ...

__HAL_AFIO_REMAP_SPI_CS(GPIOB,GPIO_PIN_4);//NSS

__HAL_AFIO_REMAP_SPI_CLK(GPIOB,GPIO_PIN_24);//SCLK

__HAL_AFIO_REMAP_SPI_MOSI(GPIOB,GPIO_PIN_26);//MOSI

__HAL_AFIO_REMAP_SPI_MISO(GPIOB,GPIO_PIN_25);//MISO

SPI->CH_CFG=(1<<22);// clear fifo 

SPI->SPI_CFG =(1<<2);//master style

uint32_t div =40000000/(900000*2) - 1;//SPI =900Khz

SPI->CLK_CFG =div;//设置SPI输出时钟

SPI->CH_CFG|=(SPI_CH_CFG_RXON | SPI_CH_CFG_TXON); // enable spi 

}

 

//返回接收长度

int master_SendRecv(uint8_t *rev ,uint8_t *snd ,uint16_t tlen)

{

uint32_t* snd32  ,*rev32 =(uint32_t*)rev;

uint32_t tx_rx_bitlen,clen=tlen ,rlen=tlen;

 

snd32 =(uint32_t*)snd;

uint16_t fifo_tfree;

SPI->CH_CFG|=(1<<22);// clear fifo 

do{

//step 1 ,确定时钟个数

if(tlen>1020){

clen =1020;

tlen-=1020;

}else{

clen=tlen;

tlen =0;

}

tx_rx_bitlen =SPI->CH_CFG;

tx_rx_bitlen&=~((uint32_t)0xffff<<3);

tx_rx_bitlen|=(clen*8)<<3;

SPI->CH_CFG=tx_rx_bitlen ;

//step 2 ,写入数据到SPI

SPI->CH_CFG|=(1<<0);//启动SPi

do{

//step 3 ,写入数据到SPI

fifo_tfree =(32-(SPI->STATUS& 0x3f))/4;//确定fifo 大小

while(fifo_tfree&&clen){

SPI->TXDATA = *snd32++;

clen =(clen>4)?clen-4:0;

fifo_tfree--;

}

//step 4 ,等待SPI空闲

while(SPI->STATUS&(1<<12)){;}

//step 5 ,接收数据

fifo_tfree =((SPI->STATUS>>6)&0x3f)/4;

while(fifo_tfree--){

*rev32++ = SPI->RXDATA;

}

}while(clen>0);

}while(tlen>0);

//step 6 ,接收残余数据

if(rev32!=NULL&&(rlen&0x3)){//未满4byte

*rev32++ = SPI->RXDATA;

}

return rlen;

}

 

int main(void)

{

    uint8_t txbuf[1024],rxbuf[1024];

    master_spiInit();

    do{

        master_SendRecv(rxbuf,txbuf,25);

    }while(1);

}


SPI主机驱动波形:


关键字:国产  SPI  主机  从机  驱动程序 引用地址:国产W806 SPI主机/从机驱动程序

上一篇:w806调试的问题
下一篇:国产W806 I2C硬件模块

推荐阅读最新更新时间:2024-11-11 11:00

老牌国产手机逆袭:进军电商注重产品体验
    5月18日消息,老牌国产品牌迎来了自己的春天。5月份TCL通讯发布公告,1-4月手机销量达1237.3万台,同比增长14.94%,其中智能手机销量达227.4万台,同比增104.26%;康佳上半年推出了多款大屏智能机,布局儿童市场、携手阿里云、打造投影仪手机等市场,并迅速推出了电子商务平台,进军移动互联网领域。老牌国际品牌的系列动作,显示了自己在智能机时代的全面复苏。   老牌国产品牌阵营裂变   曾经脍炙人口的「波导手机,手机中的战斗机」响彻中华大地,最新的波导手机发布公告,波导手机业务几乎停滞,而企业主要依靠放贷来获得盈利;科健手机几乎在市面上看不到踪迹,侨兴手机从前几年开始转型做矿山业务。在一批缺乏技术与创新的老牌企业
[手机便携]
打响第一枪,智能座舱芯片国产意味啥?
在我国2023年一季度外贸迎来开门红后,4月份继续延续稳中向好的态势。据统计在4月,我国出口总额达到了2954.2亿美元,同比增长8.5%,较3月回升6.3个百分点,高于市场预期。 在出口整体向好的背景下,我国出口商品结构也逐渐清晰。汽车产业偏强、其他机电产品偏强、劳动密集型产品其次、耐用品最弱构成了当下我国出口的主要模式。 在最“红火”的汽车产业中,汽车产销分别完成213.3万辆和215.9万辆,同比分别增长76.8%和82.7%; 新能源汽车 产销分别完成64万辆和63.6万辆,同比均增长1.1倍。 汽车的大量出口,尤其是 新能源 汽车出口量的激增,意味着我国智能制造领域的技术含量和竞争力有了质的提升,间接促进了国
[汽车电子]
打响第一枪,智能座舱芯片<font color='red'>国产</font>意味啥?
国产芯片跨国并购迎突破 接轨国际市场打响超越战
      随着时代的发展,近年来,国产芯片已经取得了长足的进步,尤其国内也逐渐取得了主导地位。然而,国产芯片要想像中国品牌手机那样真正实现对洋品牌的逆袭,还需面临多重挑战。       国庆节是中国最盛大的节日之一,在全国人民享受节假日的时候,中国半导体产业却没闲着。近日,清华紫光宣布以每股92.5美元的价格认购美国西部数据公司新发行的普通股,投资总额约38亿美元,约为240亿人民币。除此之外,半导体产业的另一颗新星澜起科技,近日也宣布以总价4.3亿美元与Diodes竞购美国上市公司百利通半导体Pericom。另外,华创投资收购美国豪威科技OmniVisionTechnologies获得美国外资投资委员会审批通过,从而基本
[手机便携]
对51系列单片SPI总线的认识
* UART、 I2C 和 SPI 是单片机系统中最常用的三种通信协议。* 1、SPI简介: SPI 是一种高速的、全双工、同步通信总线,标准的 SPI 也仅仅使用 4 个引脚,常用于单片机和 EEPROM、FLASH、实时时钟、数字信号处理器等器件的通信。 SPI 通信原理比 I2C要简单,它主要是主从方式通信,这种模式通常只有一个主机和一个或者多个从机,标准的 SPI 是 4 根线,分别是 SSEL( 片选,也写作 SCS)、 SCLK( 时钟,也写作 SCK)、 MOSI( 主机输出从机输入Master Output/Slave Input) 和 MISO( 主机输入从机输出 Master Input/Slave O
[单片机]
核心部件发展迎来突破 国产机器人强势崛起
我国机器人产业发展虽在不断加速,但核心零部件的缺失拖慢了其发展速度,好在近年来在政策和企业的共同作用下,国产核心部件已经有了不小的突破,我国机器人产业发展也渐显崛起腾飞之势。 近年来,在全球生产自动化需求带动下,我国“机器换人”进程不断加快,各种现代科技的相继出现,推动了国内机器人产业的迅猛发展。时至今日,我国工业机器人已经成为全球最大需求和应用市场,服务机器人正与世界各国齐头并进,特种机器人也在蓄势待发随时准备释放潜力,三大类机器人发展都可圈可点! 不过一直以来,我们在强调机器人产业发展如何快速、潜力如何巨大、未来市场如何宽广的同时,同样也会说关键技术和核心零部件缺失、市场和产品标准不完善、研发和应用人才匮乏等问题制约着产业的发
[机器人]
海马S5号称“国产发动机最强”,这款自主SUV顶配才卖10万!
    现在SUV市场如此火爆,就可以看出几乎每个人都有一个SUV梦,市面上的SUV车型无论是国产还是合资都看的我们眼花缭乱。如果预算10万左右,那么像荣威RX5,宝骏560,哈弗H6,长安CS75,传祺GS4等车都可以考虑。如果你告诉我10万块想买一个顶配,那么选择的余地可就不多了。   一款新上市的的SUV,海马S5,号称“国产发动机最强”,这款自主SUV顶配才卖10万!值得入手啊。   这是一款国产汽车品牌,自1988年开始创业,海马建厂于海南省海口市,经过了三次创业,海马汽车终于创出了一条属于自己的适合自己的汽车之路,今天给大家带来的这款汽车,虽然是国产品牌,但却是海马汽车与意大利LD‘A设计公司合作设计,秉承欧洲
[汽车电子]
石英玻璃为何是半导体材料国产化替代重要一环?
半导体材料作为产业重要一环,在国产代浪潮之下也在加快前行。 据国际半导体产业协会最近发布,2019年晶圆制造材料的销售额为328亿美元,半导体封装材料的销售额为192亿美元。其中,中国大陆 2019 年半导体材料营收达 88.6 亿美元,同比增长 1.9%,也是全球唯一出现增长的材料市场。 在众多材料中,石英玻璃的关注度不断提升。据乐晴智库报道,全球石英玻璃市场中半导体行业占比最高(45.36%),光伏(23.76%)、光通讯行业(16.20%)紧随其后。石英玻璃作为发展电子信息科技产业的基础,将长期受益于下游高端领域高速发展牵引,市场规模加速扩张。 在半导体产业中,高纯、无污染、耐高温的石英玻璃材料及制品是必不可少的辅材。目
[手机便携]
邓中翰:国家要全力推进芯片等领域的国产自主替代
据网易科技报道,中国工程院院士、中星微集团创建人邓中翰在两会的提案上指出,国家要全力推进芯片等“卡脖子”领域的国产自主替代工作,加大“大基金”对半导体产业各领域的统筹协调和扶持力度。 此外,对于“美国加大封锁华为”一事,邓中翰表示,此举将直接导致华为面临多种主要芯片的断供。 以下为邓中翰两会提案关于半导体方面的内容: 近期,美国商务部升级了对华为的管制措施,非美国公司只要使用美国的技术、软件、设备等给华为生产芯片也将受到管制,需先得到美国政府批准。此举将直接导致华为面临多种主要芯片的断供。 一、现状:对手不会速胜,我们不会速败;但我们现在也没有能力实现速胜,必须坚持积累实力,打持久战 一直以来,美国实际控制着全球集成电路产业链
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved