STM32F103C8开发74HC595串行转并行输出(五)

2023-05-16


1、新建项目,选择芯片型号,选中如下库文件:

代码如下:

#include "stm32f10x.h"

#define MOSIO GPIO_Pin_12  //=PA12;
#define R_CLK GPIO_Pin_13  //=PA13;
#define S_CLK GPIO_Pin_14  //=PA14;

void NOP(void)
{
  uint16_t i;
  for (i = 0; i < 20; i++);
}
void Delay(uint32_t nCount)
{
  for (; nCount != 0; nCount--);
}
void HC595SendData(uint8_t SendVal)
{
  uint8_t i;
  for (i = 0; i < 8; i++)
  {
    if (((SendVal << i) & 0x80) != 0 ) GPIO_SetBits(GPIOA, MOSIO);
    else GPIO_ResetBits(GPIOA, MOSIO);

    GPIO_ResetBits(GPIOA, S_CLK);
    NOP();
    GPIO_SetBits(GPIOA, S_CLK);
  }
  GPIO_ResetBits(GPIOA, R_CLK);
  NOP();
  GPIO_SetBits(GPIOA, R_CLK);
}

int main()
{
  uint8_t i = 0x00;
  GPIO_InitTypeDef GPIO_InitS;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);
  GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

  GPIO_InitS.GPIO_Pin = GPIO_Pin_All;
  GPIO_InitS.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitS.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitS);
  GPIO_Write(GPIOA, 0xffff);
  while (1)
  {
    i = (i + 1) % 8;
    HC595SendData((0x01 << i));
    Delay(0x3FFFFF);
  }
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F103C8开发74HC595串行转并行输出(五) 的相关文章

  • Android Drawable Preview插件适配Android Studio4.1版发布

    Android Drawable Preview是一个在安卓开发中非常有用的AS IDEA插件 可以将drawable资源文件的icon替换成内容的预览图 达到不需要打开资源文件 快速预览内容的功能 实在是非常的方便快捷 让开发工作更加的愉
  • 变频器的逆变、变频原理

    变频器的逆变 变频原理 YJZhang 从事制造业质量管理 xff0c 做过PCBA 线束 电话机 变频器行业 90 人赞同了该文章 变频器将直流电转变为交流电的这个过程叫 逆变 xff08 inverting 先讲逆变过程 xff0c 分
  • ubuntu20.04设置自动文字模式登录

    文字模式登录后取得的程序称为 Shell xff08 壳 xff09 xff0c Linux 的壳程序是bash xff08 Bourne Shell的增强版本 xff09 设置文字模式登录 xff1a 第一步 xff1a 进入grub文件
  • 从高考到程序员

    记得当年进入考场的时候也是志气满满 xff0c 心里念叨着一定要考上自己理想的大学 xff0c 光宗耀祖 当时坐在学校安排的bus上向考场的方向行进 xff0c 看到路边的交警叔叔 xff0c 情不自禁的喊了一声 xff0c 交警大哥辛苦了
  • Android内存优化(二)之如何分析native heap

    如何获取native heap请阅读上篇文章 xff0c 本篇文章将主要介绍如何分析一个native heap文件 xff0c 以及我们的native memory leak问题如何发现并定位 首先先来看一下实际中我们看到的native h
  • 基于springboot的薪资管理系统设计

    一 系统介绍 项目源码 xff1a https gitee com oklongmm code 这是一个界面简洁的薪资管理系统 xff0c 虽然界面简单 xff0c 但其工资项配置 xff0c 与考勤挂钩 xff0c 自动核算功能强大 xf
  • Dijkstra算法详解

    1 dijkstra算法简介 Dijkstra算法是由E W Dijkstra于1959年提出 xff0c 又叫迪杰斯特拉算法 xff0c 它应用了贪心算法模式 xff0c 是目前公认的最好的求解最短路径的方法 算法解决的是有向图中单个源点
  • C++建立动态二维数组

    C 43 43 建立动态二维数组主要有两种方法 xff1a 1 使用数组指针 xff0c 分配一个指针数组 xff0c 将其首地址保存在b中 xff0c 然后再为指针数组的每个元素分配一个数组 int b 61 new int row 分配
  • 理解负载均衡

    什么是平均负载 xff1f 单位时间内 xff0c 系统处于可运行状态和不可中断状态的平均进程数 xff0c 也就是平均活跃进程数 xff0c 它和CPU使用率并没有直接关系 所谓可运行状态的进程 xff0c 是指正在使用CPU或者等待CP
  • 理解CPU使用率和CPU上下文切换

    1 CPU使用率 1 1 CPU使用率查看 当发现服务或机器卡的时候 xff0c 我们都是先通过top命令查看服务器CPU使用率 默认每3秒刷新一次 top top 18 10 58 up 1216 days 7 38 4 users lo
  • 自动驾驶概述

    1 自动化能力定义 对自动驾驶能力有多个定义标准 xff0c 比较常用的是SAE International关于自动化层级的定义 具体是 L0 驾驶员完全掌控车辆 L1 自动系统有时能够辅助驾驶员完成某些驾驶任务 L2 自动系统能够完成某些
  • java遍历泛型的方法

    一 List遍历 Java中List遍历有三种方法来遍历泛型 xff0c 主要为 xff1a 1 for循环遍历 2 iterator遍历 3 foreach遍历 package com gmail lsgjzhuwei import ja

随机推荐

  • java web文件下载功能实现

    需求 xff1a 实现一个具有文件下载功能的网页 xff0c 主要下载压缩包和图片 两种实现方法 xff1a 一 xff1a 通过超链接实现下载 在HTML网页中 xff0c 通过超链接链接到要下载的文件的地址 lt DOCTYPE htm
  • java创建线程的三种方式及其对比

    Java中创建线程主要有三种方式 xff1a 一 继承Thread类创建线程类 xff08 1 xff09 定义Thread类的子类 xff0c 并重写该类的run方法 xff0c 该run方法的方法体就代表了线程要完成的任务 因此把run
  • 史上最全面最易懂的,Spring框架学习教程

    Spring通过PlatformTransactionManager平台事务管理器接口对事务的管理进行高度抽象 xff0c 但是该接口下具体的实现是由各个平台自己实现 xff0c Spring并不直接管理事务 xff0c 而是提供了多种事务
  • 'hibernate.dialect' must be set when no Connection available

    今天碰到的这个问题 xff0c 很无厘头 xff0c 网上搜索了很多 xff0c 都不靠谱 xff0c 还是靠自己 解决方法是在hibernate cfg xml中添加 lt property name 61 34 dialect 34 g
  • javascript动态插入html元素

    主要有是两种方案 xff1a 1 使用DOM span class hljs comment 使用createElement创建元素 span span class hljs keyword var span dialog 61 docum
  • python中switch语句用法

    python中是没用switch语句的 xff0c 这应该是体现python大道至简的思想 xff0c python中一般多用字典来代替switch来实现 coding utf 8 from future import division d
  • ROS的 sudo rosdep init 的报错终极解决方案

    ROS的 sudo rosdep init 的报错解决方案 安装ROS时sudo rosdep init指令报错 xff1a ERROR span class token operator span cannot download span
  • 干支纪年

    干支纪年 摘自 xff1a http baike baidu com view 187057 htm 1 天干 xff08 甲 xff09 象草林破土而萌 xff0c 阳在内而被阴包裹 又有认为 xff0c 甲者铠甲也 xff0c 把万物冲
  • “密码不满足密码策略的要求,检查最小密码长度、密码复杂性和密码历史的要求”的解决办法(Windows...

    Windows Server 2003解决办法是 xff1a 选择 开始 gt 程序 gt 管理工具 gt 域安全策略 gt 帐户策略 gt 密码策略 密码必须符合复杂性要求 xff1a 由 已启用 改为 已禁用 xff1b 密码长度最小值
  • 解决android studio 不同ApplicationId可能导致xmlns命名空间报错

    遇到一个需求 xff0c 想出不同渠道 xff0c 我们可以知道在build gradle里面声明 productFlavors dev minSdkVersion 21 applicationId 34 xxx xxx xxx 34 ma
  • Manjaro Linux KDE 安装后的配置

    一 更换中国源 span class token function sudo span pacman mirrors i c China m rank 这个命令执行完毕的时候后弹窗让你选择想要使用的源 xff0c 选择速度最快的那个就可以了
  • 盘点程序员情人节的表白,前端程序员最浪漫,后端不服来战

    loonggg 读完需要3分钟 速读仅需1分钟 今天是七夕 xff0c 中国的情人节 xff0c 当然了就是牛郎和织女团聚的日子 在 IT 群体中 xff0c 很多人都说程序员不浪漫 xff0c 程序员不懂得浪漫 xff0c 程序员木讷 x
  • 毕业设计 Spring Boot的在线音乐网站系统(含源码+论文)

    文章目录 1 项目简介2 实现效果2 1 界面展示 3 设计方案3 1 概述3 2 系统流程3 2 1 系统开发流程 3 3 系统结构设计 4 项目获取 1 项目简介 Hi xff0c 各位同学好呀 xff0c 这里是M学姐 xff01 今
  • mac(osx) apache无法启动 localhost无法访问服务器

    问题描述 xff1a 由于删除了 private var log下面的日志 xff0c 导致重启电脑后apache无法正常工作 删除log的初衷是 xff1a 当系统用久了 xff0c 日志文件占据了几十个G的硬盘容量 造成的后果 xff1
  • 去掉了“摆动窗口”特效

    自从安装了KDE4以后 xff0c 我就再也离不开那些华丽的特效了 很多的时候 xff0c 不得不忍受万分缓慢的速度 昨天 xff0c 对开启的特效进行了一些精简 xff1a 最大化 最小化窗口特效仅保留魔灯 xff1b 关闭了摆动窗口特效
  • 单片机关键字sfr和sbit的理解

    在单片机C语言编程中 xff0c 扩充了两个关键字sfr和sbit sfr Special Function Register特殊功能寄存器的缩写 xff0c sbit 特殊功能寄存器位 xff0c 与定义一般的int char型变量不同
  • CSR1010蓝牙开发I/O操作

    CSR1010开发前期准备 1 开发环境CSR uEnergy SDK 2 5 1 2 硬件准备keyfob蓝牙开发板 xff0c USB SPI下载器 CSR1010 I O开发须知 xff1a 关于I O操作的函数库被定义在头文件 lt
  • ArchLinux必备命令记录

    1 添加新账户 useradd username新建账户 useradd d home xxx m xxx创建用户 xff0c 并同时生成用户目录 xff0c 不然账户无法正常启用 passwd username修改密码 userdel f
  • CSR1010蓝牙开发探索(一)

    花了多少时间我已经不想提起 xff0c 但是至少还是有点成果的 xff0c 分析了不少代码 xff0c 也看了不少资料 xff0c 发现比较接地气的东西还是比较少 xff0c 不多花点时间积累 xff0c 说实话很辛苦 现在还没有足够的水平
  • STM32F103C8开发74HC595串行转并行输出(五)

    1 新建项目 xff0c 选择芯片型号 xff0c 选中如下库文件 xff1a 代码如下 xff1a include 34 stm32f10x h 34 define MOSIO GPIO Pin 12 61 PA12 define R C