单片机SPI口初始化设计

1 void spix_init(void)
2 {
3 rcc-》apb2enr|=1《《2; //porta时钟使能
4 rcc-》apb2enr|=1《《12; //spi1时钟使能
5
6 //这里只针对spi口初始化
7 gpioa-》crl&=0x000fffff;
8 gpioa-》crl|=0xbbb00000;//pa5.6.7复用推挽输出
9 //gpioa-》odr|=0x7《《5; //pa5.6.7上拉,应该不起作用,因为此模式
10 spi1-》cr1&=~(1《《6);//关闭spi来配置某些位
11
12 spi1-》cr1&=~(1《《15);//1:双线双向模式 0:单向双向模式
13 spi1-》cr1&=~(1《《13);//1:启动crc校验 0:关闭crc校验 只能在spe=0时改写,否则出错。只能在全双工模式使用
14 spi1-》cr1|=0《《11;//1:16bit数据格式 0:8bit数据格式 只能在spe=0时改写,否则出错。
15 spi1-》cr1|=0《《10;//1:全双工模式 0:只接收模式
16 spi1-》cr1|=1《《9; //1:启用软件从设备管理 0:禁止软件从设备管理 当为1时,nss电平由ssi位决定
17 spi1-》cr1|=1《《8;//
18 spi1-》cr1|=0《《7; //1:先发送msb 0:先发送lsb
19 spi1-》cr1|=0《《3//5~3bit:分频系数 0~7 分频系数为fpclk/2、4、8、16、32、64、128、256
20 spi1-》cr1|=1《《2;//1:主设备 0:从设备
21 spi1-》cr1|=1《《1; //cpol 1:空闲时sck为1 0:空闲时sck=0
22 spi1-》cr1|=1《《0; //cpha 1:数据采样从第二个时间边沿开始 0:数据采样从第一个时钟边沿开始
23 spi1-》cr1|=1《《6; //1:开启spi 0:关闭spi
24 }

TLK3132工作原理 CPRI接口应用(一)
波士顿动力机器人再添新技能,实现高度智能化
使用ChatGPT来促进Android软件开发的7个案例
一篇看懂PCB叠层设计!
关于视觉检测系统在医疗行业中提供的解决方案
单片机SPI口初始化设计
有哪些性能优秀的无线蓝牙耳机值得推荐?极致性价比耳机推荐!
为什么要使用CAN总线?
LED虚拟拍摄解析及优缺点
PCB板的内部结构分析
苹果iOS 11.4.1加USB限制,却出新漏洞
混合动力汽车双模式多级齿轮动力传动机构扭转振动的原因
2019年光亚展,Mini LED来势汹汹
如何使用Linux seq命令
大疆发布目前最小的口袋云台相机OSMO Pocket
matlab plot函数用法
关于驱动信号特性提取传导EMI对消技术研究的分析和介绍
塞宾ALAYA耳机怎么样 值不值得买
西门子S7-1200模拟量闭环控制系统-PID控制方案
其实小米已有两手准备,将发布大屏的小米6Plus!