- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM等精度测频测相C程序and求导纳的C程序(Ramp;L和Ramp;C).doc
ARM等精度测频测相C程序and求导纳的C程序(RL和RC)
#include common.h
int ReadValue;
int Readvalue2;
//此前用名称a可能就与key.c中的a重复定义了,编译时它又不提error,只说multi defined。
u32 freqvalue_a=0;//测频部分变量定义。
u32 freqvalue_b=0;
u32 pulsevalue_c=0;//测占空比部分变量定义。
u32 pulsevalue_d=0;
float Frequent=0.0;//测得频率值。
float duty=0.0;
float pulsevalue_g=0.0;//测得占空比值。
char str1[8];
char str2[8];
void delay_500us(unsigned int ii)//1ms延时函数
{
unsigned int i,x;
for (x=0;xii;x++)
{
for (i=0;i6000;i++);
//当i=12000时,就实现了1ms的延时。
//不过这个延时并不是非常精确的。
}
}
/*******************以下为测频部分程序*********************/
void measurefrequent_start(void)//测频准备
{
freqvalue_a=0;
freqvalue_b=0;
GPIO_SetBits(GPIOA,GPIO_Pin_6);//spul =1
GPIO_SetBits(GPIOA,GPIO_Pin_4); //clr=1
GPIO_ResetBits(GPIOA,GPIO_Pin_4);//CLR=0
GPIO_SetBits(GPIOA,GPIO_Pin_5); //cl=1,CL为预置门控信号
//delayms(80);//门控信号高电平的时间。
//用延时delay太耗用CPU资源,且有可能与MS3系统的20ms时钟节拍产生冲突。
//处理不好就有可能得不到想要的值。可以设置一个变量对20ms计数,记到所需
//要的时间后再执行接下来所想要执行的程序。
}
void measurefrequent_getvalue(void)//读取测频计数值。
{
GPIO_ResetBits(GPIOA,GPIO_Pin_5); //cl=0
delay_500us(1);//取数据前的等待。必须得。
ReadValue=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7);
if(ReadValue==0)
{
GPIO_Write(GPIOB,0);
freqvalue_a|=0x000000ffGPIO_ReadInputData(GPIOE);
GPIO_Write(GPIOB,1);
freqvalue_a|=(0x000000ffGPIO_ReadInputData(GPIOE))8;
GPIO_Write(GPIOB,2);
freqvalue_a|=(0x000000ffGPIO_ReadInputData(GPIOE))16;
GPIO_Write(GPIOB,3);
freqvalue_a|=(0x000000ffGPIO_ReadInputData(GPIOE))24;
GPIO_Write(GPIOB,4);
freqvalue_b|=(0x000000ffGPIO_ReadInputData(GPIOE));
GPIO_Write(GPIOB,5);
freqvalue_b|=(0x000000ffGPIO_ReadInputData(GPIOE))8;
GPIO_Write(GPIOB,6);
freqvalue_b|=(0x000000ffGPIO_ReadInputData(GPIOE))16;
GPIO_Write(GPIOB,7);
freqvalue_b|=(0x000000ffGPIO_ReadInputData(GPIOE))24;
// sprintf(str2, %d, a);
//showzifustr(0,10,(char*)str2,0x03,255);
// sprintf(str2, %d, b);
// showzifustr(0,45,(char*)str2,0x03,255);
showhanzi(0,
您可能关注的文档
最近下载
- 七年级下学期体育与健康教案全集(54课时).doc VIP
- 2025年绿色矿山建设技术挑战与机遇报告.docx
- 住房公积金贷款全权代理委托书范本.docx VIP
- 2024-2025学年人美版(2024)美术小学一年级上册教学设计(附教材目录).docx VIP
- 【北师大版】二年级《劳动实践指导手册》第1课《清洗我的小水杯》课件.pptx VIP
- 高中通用技术作品实验报告.doc VIP
- 急性有机磷农药中毒诊治.ppt VIP
- JB_T 7334-2016 手拉葫芦.pdf VIP
- 燃气管道施工方案.doc VIP
- DB15T 3962.3-2025绿色矿山建设规范 第3部分:黄金行业.pdf VIP
文档评论(0)