找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6392|回复: 5
打印 上一主题 下一主题
收起左侧

基于STM32f030c8t6的spi,iic,串口的初始化源程序

  [复制链接]
跳转到指定楼层
楼主
ID:391628 发表于 2018-8-30 15:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
串口采用控制器,IIC与spi采用了模拟时序


stm32单片机源程序如下:
  1. #include "spi.h"
  2. #include "uart.h"
  3. #include "stdio.h"
  4. #include "delay.h"



  5. void SPI1_Init(void)
  6. {

  7.         RCC ->AHBENR         |=0X01<<18;
  8.         RCC ->APB2ENR |=0x01<<12;
  9.        
  10.         //SCK(pb3) MOSI(pb5)配置为普通功能推挽输出
  11.         //端口模式设置
  12.         //模式----通用输出模式(01)
  13.         GPIOB->MODER &=~(0x03<<6 |0x03<<10);
  14.         GPIOB->MODER |=0X01<<6 | 0X01<<10;
  15.         //输出类型----推挽
  16.         GPIOB->OTYPER &= ~(0X01<<3 | 0X01<<5);       
  17.         //输出速度----100M
  18.         GPIOB->OSPEEDR |=0x03<<6 | 0x03<<10;
  19.         //上下拉-----无上拉或下拉
  20.         GPIOB->PUPDR &=~(0x03<<6 |0x03<<10);
  21.        

  22.         //MISO(pb4) 配置为浮空输入
  23.         GPIOB->MODER &=~(0X03<<8);  //pB4为输入模式
  24.         GPIOB->PUPDR &=~(0X03<<8);  //浮空输入
  25.        
  26.         SCK_0;          //SCK空闲电平为低
  27. }
  28. //spi读写函数--模式0
  29. //_data:待发送的数据,如果是接收模式,发送的数据则应该是0xff
  30. //返回值:接收到的数据。如果是发送模式,返回值可以丢弃

  31. u8 SPI1_ReadWriteByte(u8 _data)
  32. {
  33.         u8 i;
  34.         for(i=0;i<8;i++)
  35.         {
  36.        
  37.                 if(_data&0x80)      //高位在前
  38.                 {
  39.                         MOSI_1;
  40.                 }
  41.                 else
  42.                 {
  43.                         MOSI_0;
  44.                 }
  45.                 SCK_1;
  46.                 _data=_data<<1;
  47.                 delay_us(2);

  48.        
  49.                 if(GPIOB ->IDR&0x01<<4)                           //判断收到的数据
  50.                 {
  51.                         _data=_data | 0X01;
  52.                 }
  53.                 SCK_0;
  54.                
  55.                 delay_us(2);
  56.         }
  57.         return _data;
  58. }


复制代码

所有资料51hei提供下载:
串口spii2c.zip (4.63 KB, 下载次数: 156)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏7 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:391628 发表于 2018-11-5 11:38 | 只看该作者
SPI控制器的也搞好了,亲测可以使用,可以驱动OLED和w25q80

spi控制器.zip

1.93 KB, 下载次数: 60, 下载积分: 黑币 -5

回复

使用道具 举报

板凳
ID:391628 发表于 2019-2-28 10:08 | 只看该作者
自己顶自己
回复

使用道具 举报

地板
ID:90992 发表于 2019-7-1 15:55 | 只看该作者
就那样
回复

使用道具 举报

5#
ID:798565 发表于 2020-7-7 17:12 | 只看该作者
请问有这款芯片的NRF24L01配置的程序嘛
回复

使用道具 举报

6#
ID:438263 发表于 2020-10-23 17:48 | 只看该作者
全部寄存器,感觉没啥用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表