拿到STM8板子之后,在IAR官方下载IAR for STM8s 30天试用版本,在电脑上安装后发现在安装IAR时,STLink的驱动也会全部自动的安装上去,方便啊。。因为之前我的AVR都是在IAR上开发的,所有对这个软件并不陌生,打开软件新建工程,Debug模式下,设置使用STLink仿真,将空白文件成功烧写进去了,看来,开饭环境搭建还是很简单的。。
接下来,进入主题,STM8S的IO口控制,这是学习一个单片机最最最基础的东西了。
STM8单片机IO与AVR差不多,可以配置为输入输出,同时还可以带上拉电阻下拉电阻。还有就是跟STM32几乎相同,某些IO口可以配置成模拟输入,模拟输入,复用端口,也可以配置成中断端口。
IO配置代码:
PD_DDR=0xff;//数据方向寄存器,设置PD口为输出,如果让他等于0x00,数据方向就为输入了
PD_CR1=0xff;//设置PD为推挽输出
PD_CR2=0xff;//PD速率为10M
PD_ODR=0x00;//PD端口输出0
如果想PD输出,PD_ODR=0xff;就可以了。。
如果想让IO变为输入,只要按PDF文档设置这几个寄存器,读取PD_IDR就可以了。。
关键字:STM8S 学习笔记 GPIO 输出功能
引用地址:
STM8S学习笔记之二(STM8 GPIO输出功能)
推荐阅读最新更新时间:2024-03-16 14:40
二、GPIO【MSP430学习笔记】
一、GPIO口配置 MSP430F249有6组IO 端口,即P1~P6,每一组IO口都有8个可独立编程引脚,比如P1有P1.0 ~ P1.7。在MSP430所有的端口都有控制输入输出方向和进行输入、输出的能力。其中P1、P2口具有外部中断的功能,第二功能可通过寄存器进行控制,外部中断有三个寄存器,中断使能,中断触发控制,中断标志位。 端口P1具有输入/输出、中断和外部模块功能,这些功能可通过7个控制寄存器的设置来实现。下面介绍 各控制寄存器特点及其使用: 1、PxDIR 输入/输出方向寄存器 输入/输出方向寄存器 相互独立的8位分别定义了Px 口的8位的输入输出方向。 使用输入/输出功能时,应先定义端口方向。作为输入时,只能读
[单片机]
STM32F4学习笔记4——外部中断
EXTI每个中断/事件都有独立的触发和屏蔽,每个中断线专用的状态位,支宽度持多达23个软件的中断/事件请求,在检测脉冲宽度低于APB2时钟宽度的外部信号参见数据手册中的电气特性部分。 STM32F4xx可以处理外部或内部事件来唤醒内核(WFE),唤醒事件可以在外设的控制寄存器使能一个中断,但不在NVIC中使能,同时在M4的FPU系统控制寄存器中使能SEVONPEND位,当CPU从内核WFE中恢复后,取药清楚相应外设的中断刮起位和外设NVIC中断通道挂起位;或者配置一个外部或内部EXTI线为事件模式,当CPU从WFE恢复后,因为对应时间的挂起为没有被置位,不必清除相应外设的中断挂起位或NVIC中断通道挂起位。 要产生中断必须
[单片机]
STM32入门学习之GPIO(STM32F030F4P6基于CooCox IDE)(三)
先直接上代码 #include stm32f0xx.h #include stm32_lib/inc/stm32f0xx_rcc.h #include stm32_lib/inc/stm32f0xx_gpio.h int main(void) { //1、使能时钟 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); //定义一个IO GPIO_InitTypeDef PORT_LED; //设置IO引脚,模式,输出类型,速度 PORT_LED.GPIO_Pin=GPIO_Pin_4;//IO引脚,第4脚(个人的小板子PA4有连接LED) PORT_LED
[单片机]
stm8s跳出中断程序c语言,STVD自动生成的stm8
整理一下,不知理解对不对; /* BASIC INTERRUPT VECTOR TABLE FOR STM8 devices * Copyright (c) 2007 STMicroelectronics */ //typedef void (*)void,;定义一个类型(指向函数的指针)取得void类型函数的函数入口地址指针 typedef void @far (*interrupt_handler_t)(void); //定义一个结构体类型存放{中断指令,中断处理程序名(即中断函数入口指针)} struct interrupt_vector { unsigned char interrupt_instruction
[单片机]
基于STM32的USB枚举过程学习笔记
之前使用ST官方的库以及网络的资料,完成了使用USB HID类进行STM32和PC机的通讯。由于其他原因并没有深入的分析,虽然实现了功能,但是关于USB设备的枚举,以及具体的通讯方式都没有清晰的概念,所以现在回头重新学习USB相关知识。主要参考资料是《圈圈教你玩USB》、USB枚举过程图解,ST官方的USB HID例程。 一,USB数据包 1. USB数据包分类 USB总线上的数据传输以包为基本的单位。USB协议规定了四种包:令牌包、数据包、握手包、特殊包。不同的包通过包中的8位PID域区分。 令牌包 令牌包用于启动 一次USB传输,USB的数据传输必须由主机发起。令牌包有四种: 输出令牌包
[单片机]
STM32外部中断学习笔记
中断 分类 STM32的EXTI控制器支持19 个外部中断/ 事件请求。每个中断设有状态位,每个中断/ 事件都有独立的触发和屏蔽设置。 STM32的19个外部中断对应着19路中断线,分别是EXTI_Line0-EXTI_Line18: 线0~15:对应外部 IO口的输入中断。 线16:连接到 PVD 输出。 线17:连接到 RTC 闹钟事件。 线18:连接到 USB 唤醒事件。 触发方式:STM32 的外部中断是通过边沿来触发的,不支持电平触发。 外部中断分组:STM32 的每一个GPIO都能配置成一个外部中断触发源,STM32 通过根据引脚的序号不同将众多中断触发源分成不同的组,比如:PA0,PB0,PC0
[单片机]
汇编语言学习笔记——————第一个程序
一个汇编语言从写出到最终执行的简要过程 大体分为以下三步: 第二步执行的操作是使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用链接程序对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。 第三步中,操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载到内存,设置CS:IP指向第一条要执行的指令,然后由CPU执行程序。 下图是从汇编程序从写出到执行的详细步骤。 编写源程序 assume cs:code code segment start:mov ax,2000h mov ds,ax mov al,ds: ;在汇编源程序中,如果用指令访问一个内存单元,
[单片机]
【STM32】HAL库-GPIO及位段
GPIO模式 输入浮空 输入上拉 输入下拉 模拟输入 推挽输出 开漏输出 推挽复用输出 开漏复用输出 一篇介绍推挽与开漏输出的区别的文章 链接 I/O端口位的基本结构 配置表 输入浮空/上拉/下拉配置 输出缓冲器被禁止 施密特触发输入被激活 根据输入配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接 出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器 对输入数据寄存器的读访问可得到I/O状态 输出配置 输出缓冲器被激活 开漏模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’将端口置于高阻状态(P-MOS从不被激活)。 推挽模式:输出寄存器上的’0’激活N-MOS,而输出寄存器上的’1’
[单片机]