标题:
STM32F1之X9C10x驱动程序
[打印本页]
作者:
lllei
时间:
2021-8-2 01:38
标题:
STM32F1之X9C10x驱动程序
修改对应端口即可
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "usmart.h"
//LED状态设置函数
void led_set(u8 sta)
{
// LED1=sta;
}
void Wiper_Test(int UD,int num)
{
GPIO_WriteBit(GPIOB,GPIO_Wiper_CS, Bit_RESET);//CS置低,使用这块芯片
delay_us(1);
if(UD==1)
{
GPIO_WriteBit(GPIOB,GPIO_Wiper_UD, Bit_SET);//如果你选择增加输出电压则将UD引脚置高
}
else
{
GPIO_WriteBit(GPIOB,GPIO_Wiper_UD, Bit_RESET);//反之,置低
}
delay_us(1);
for(;num>0;num--)//这一段是控制调节几次电阻的,如果想要调节多一点就使INC多经历几次下降沿,每次调节1010欧姆
{
GPIO_WriteBit(GPIOB,GPIO_Wiper_INC, Bit_RESET);
delay_us(1);
GPIO_WriteBit(GPIOB,GPIO_Wiper_INC, Bit_SET);
delay_us(1);
}
GPIO_WriteBit(GPIOB,GPIO_Wiper_CS, Bit_SET);//将CS置高产生一个上升沿,INC在执行完上面一段后也被置高,因此固定到了当前的阻值
delay_ms(20);//芯片手册上说不小于20ms,应该是挂载多个设备的时候使用的。
}
int main(void)
{
u8 i;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
usmart_dev.init(SystemCoreClock/1000000); //初始化USMART
Wiper_Test(0,100);//下阻值清零
Wiper_Test(1,10);
// while(1)
// {
for(i=0;i<8;i++)
{
// Wiper_Test(0,100);//下阻值清零
Wiper_Test(1,1);
delay_ms(6666);
}
// for(i=0;i<100;i++)
// {
// Wiper_Test(0,i);
// delay_ms(50);
// }
// }
}
复制代码
代码工程:
X9C10x驱动.7z
(218.89 KB, 下载次数: 8)
2021-8-2 03:35 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
gxzqh
时间:
2021-8-5 08:43
不错,学习学习,今后改套试试看
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1