STM32F407 双轮小车 定时器编码器模式测速
直流电机编码器测速 定时器编码器模式测速 STM32F407 方便移植 可硬件DBUG调试
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 109142 2016-04-15 21:57 小车双编码器测速COREcore_cm4.h
文件 22735 2016-04-15 21:57 小车双编码器测速COREcore_cm4_simd.h
文件 17146 2016-04-15 21:57 小车双编码器测速COREcore_cmFunc.h
文件 20513 2016-04-15 21:57 小车双编码器测速COREcore_cmInstr.h
文件 29605 2016-04-15 21:57 小车双编码器测速COREstartup_stm32f40_41xxx.s
文件 144 2015-04-27 23:55 小车双编码器测速drivesincadc.h
文件 838 2016-04-15 21:57 小车双编码器测速drivesincdelay.h
文件 270 2016-11-24 10:54 小车双编码器测速drivesincdma.h
文件 802 2016-12-18 18:30 小车双编码器测速drivesinci2c.h
文件 208 2016-12-18 15:32 小车双编码器测速drivesincled.h
文件 310 2016-11-24 15:19 小车双编码器测速drivesincpwm.h
文件 376 2017-03-06 21:05 小车双编码器测速drivesincspi.h
文件 3442 2016-04-15 21:57 小车双编码器测速drivesincsys.h
文件 558 2017-02-21 11:31 小车双编码器测速drivesinc imer.h
文件 2144 2018-07-17 11:04 小车双编码器测速drivesincusart.h
文件 6036 2018-04-11 18:15 小车双编码器测速drivesIOI2C.c
文件 2986 2018-04-11 18:15 小车双编码器测速drivesIOI2C.h
文件 1438 2018-04-14 10:57 小车双编码器测速drivesMPU9250.c
文件 429 2018-04-07 14:02 小车双编码器测速drivesMPU9250.h
文件 2639 2015-04-28 00:27 小车双编码器测速drivessrcadc.c
文件 7683 2016-04-15 21:57 小车双编码器测速drivessrcdelay.c
文件 2589 2016-12-05 16:02 小车双编码器测速drivessrcdma.c
文件 3470 2017-03-07 09:54 小车双编码器测速drivessrci2c.c
文件 550 2017-03-15 15:00 小车双编码器测速drivessrcled.c
文件 8214 2017-01-16 16:17 小车双编码器测速drivessrcpwm.c
文件 3901 2017-03-07 10:53 小车双编码器测速drivessrcspi.c
文件 1067 2018-07-17 12:37 小车双编码器测速drivessrcsys.c
文件 3076 2018-07-18 17:57 小车双编码器测速drivessrc imer.c
文件 14825 2018-07-17 11:11 小车双编码器测速drivessrcusart.c
文件 6924 2016-04-15 21:57 小车双编码器测速FWLIBincmisc.h
............此处省略349个文件信息
#include “IOI2C.h“
#include “delay.h“
#include “stm32f10x_gpio.h“
#include “stm32f10x_rcc.h“
/**************************实现函数********************************************
*函数原型: void IIC_Init(void)
*功 能: 初始化I2C对应的接口引脚。
*******************************************************************************/
void Delay(u32 count)//用于产生400KHzIIC信号所需要的延时
{
while (count--);
}
void IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE);
//配置PB6 PB7 为开漏输出 刷新频率为10Mhz
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//应用配置到GPIOB
GPIO_Init(GPIOB &GPIO_InitStructure);
SDA_OUT(); //sda线输出
IIC_SDA=1;
IIC_SCL=1;
}
/**************************实现函数********************************************
*函数原型: void IIC_Start(void)
*功 能: 产生IIC起始信号
*******************************************************************************/
void IIC_Start(void)
{
SDA_OUT(); //sda线输出
IIC_SDA=1;
IIC_SCL=1;
Delay(5);
IIC_SDA=0;//START:when CLK is highDATA change form high to low
Delay(5);
IIC_SCL=0;//钳住I2C总线,准备发送或接收数据
}
/**************************实现函数********************************************
*函数原型: void IIC_Stop(void)
*功 能: //产生IIC停止信号
*******************************************************************************/
void IIC_Stop(void)
{
SDA_OUT();//sda线输出
IIC_SCL=0;
IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
Delay(5);
IIC_SCL=1;
IIC_SDA=1;//发送I2C总线结束信号
Delay(5);
}
/**************************实现函数********************************************
*函数原型: u8 IIC_Wait_Ack(void)
*功 能: 等待应答信号到来
//返回值:1,接收应答失败
// 0,接收应答成功
*******************************************************************************/
u8 IIC_Wait_Ack(void)
{
u8 ucErrTime=0;
SDA_IN(); //SDA设置为输入
IIC_SDA=1;
Delay(5);
while(READ_SDA)
{
ucErrTime++;
if(ucErrTime>50)
{
IIC_Stop();
return 1;
}
Delay(5);
}
IIC_SCL=1;
Delay(5);
IIC_SCL=0;//时钟输出0
return 0;
}
/**************************实现函数********************************************
*函数原型: void IIC_Ack(void)
*功 能: 产生ACK应答
*******************************************************************************/
void IIC_Ack(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=0;
Delay(5);
IIC_SCL=1;
Delay(5);
IIC_SCL=0;
}
/**************************实现函数********************************************
*函数原型: void IIC_NAck(void)
*功 能: 产生NACK应答
*******************************************************************************/
void IIC_NAck(void)
{
IIC_SCL=0;
SDA_OUT();
IIC_SDA=1;
Delay(5);
IIC_SCL=1;
Delay(5);
IIC_SCL=0;
}
/**************************实现函数********************************************
*函数原型: void
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 109142 2016-04-15 21:57 小车双编码器测速COREcore_cm4.h
文件 22735 2016-04-15 21:57 小车双编码器测速COREcore_cm4_simd.h
文件 17146 2016-04-15 21:57 小车双编码器测速COREcore_cmFunc.h
文件 20513 2016-04-15 21:57 小车双编码器测速COREcore_cmInstr.h
文件 29605 2016-04-15 21:57 小车双编码器测速COREstartup_stm32f40_41xxx.s
文件 144 2015-04-27 23:55 小车双编码器测速drivesincadc.h
文件 838 2016-04-15 21:57 小车双编码器测速drivesincdelay.h
文件 270 2016-11-24 10:54 小车双编码器测速drivesincdma.h
文件 802 2016-12-18 18:30 小车双编码器测速drivesinci2c.h
文件 208 2016-12-18 15:32 小车双编码器测速drivesincled.h
文件 310 2016-11-24 15:19 小车双编码器测速drivesincpwm.h
文件 376 2017-03-06 21:05 小车双编码器测速drivesincspi.h
文件 3442 2016-04-15 21:57 小车双编码器测速drivesincsys.h
文件 558 2017-02-21 11:31 小车双编码器测速drivesinc imer.h
文件 2144 2018-07-17 11:04 小车双编码器测速drivesincusart.h
文件 6036 2018-04-11 18:15 小车双编码器测速drivesIOI2C.c
文件 2986 2018-04-11 18:15 小车双编码器测速drivesIOI2C.h
文件 1438 2018-04-14 10:57 小车双编码器测速drivesMPU9250.c
文件 429 2018-04-07 14:02 小车双编码器测速drivesMPU9250.h
文件 2639 2015-04-28 00:27 小车双编码器测速drivessrcadc.c
文件 7683 2016-04-15 21:57 小车双编码器测速drivessrcdelay.c
文件 2589 2016-12-05 16:02 小车双编码器测速drivessrcdma.c
文件 3470 2017-03-07 09:54 小车双编码器测速drivessrci2c.c
文件 550 2017-03-15 15:00 小车双编码器测速drivessrcled.c
文件 8214 2017-01-16 16:17 小车双编码器测速drivessrcpwm.c
文件 3901 2017-03-07 10:53 小车双编码器测速drivessrcspi.c
文件 1067 2018-07-17 12:37 小车双编码器测速drivessrcsys.c
文件 3076 2018-07-18 17:57 小车双编码器测速drivessrc imer.c
文件 14825 2018-07-17 11:11 小车双编码器测速drivessrcusart.c
文件 6924 2016-04-15 21:57 小车双编码器测速FWLIBincmisc.h
............此处省略349个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)