求Java大神看看我这配置如何帮忙看看这行代码哪里错了 为什么返回不了?

求大神帮忙看看小弟的代码哪里不对啊?怎么输出总是显示0元?
#include&stdio.h&
double getcharge(int mile,int time)
if(time&23 && time&=5)
if(mile&3)
unit=14+(mile-3)*2.3;
else if(mile&3)
unit=14+(mile-3)*2.76;
else if (mile&3)
int main()
x=getcharge(12,9);
y=getcharge(12,6);
price=x+y;
printf("小明每天打车费用为%.1f元\n",price);
写下你的评论...
Copyright (C)
All Rights Reserved | 京ICP备 号-22013年3月 总版技术专家分月排行榜第二
2014年2月 Java大版内专家分月排行榜第一2013年8月 Java大版内专家分月排行榜第一2013年5月 Java大版内专家分月排行榜第一2013年4月 Java大版内专家分月排行榜第一2013年3月 Java大版内专家分月排行榜第一2013年2月 Java大版内专家分月排行榜第一
2016年12月 Java大版内专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。2个回答3个回答4个回答3个回答5个回答1个回答2个回答2个回答2个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright ©
All Rights Reserved. 学网 版权所有
京ICP备号-1 京公网安备02号21ic官方微信-->
后使用快捷导航没有帐号?
查看: 1068|回复: 5
求大神帮忙看看代码是哪里不行,研究了一晚也没什么结果~
&&未结帖(20)
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
主题帖子积分
专家等级:结帖率:15%
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
& && &代码主要想实现利用AD采样获取PWM的功能。通过信号发生器产生的信号接入stm32 m0的 P1管脚,然后从P8管脚测试输出的波形,但是一直没有波形,这是哪里出错了?
& &望大神们指导下,AD究竟能否实现该功能?还是我哪里出错了?Channel1Pulse是检测的,Channel2Pulse是我做来跟Channel1Pulse的数据比较的 感觉在uVison下 看不到什么数据= =
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
主题帖子积分
专家等级:结帖率:15%
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
代码补上:
#include &stm32f0xx.h&
#include &stdio.h&
#define ADC1_DR_Address& && && && && & 0x
__IO uint16_t RegularConvData_T
uint16_t TimerPeriod = 0;
uint16_t Channel1Pulse = 0, Channel2Pulse = 0;
void ADC1_DMA_Init(void);
void GPIOA_Init(void);
void TIM1_PWM_Init(void);
int main(void)
& & & & ADC1_DMA_Init();& & & &
& & & & GPIOA_Init();
& & & & TIM1_PWM_Init();
& & & &&&while (1)
& & & && &{
& & & & & & & &
& & & & & & & & Channel1Pulse = (uint16_t) (RegularConvData_Tab* (TimerPeriod - 1) / 4096);
& & & & & & & & Channel2Pulse = (uint16_t) (((uint32_t) 125 * (TimerPeriod- 1)) / 1000);
& & & & & & & & & & & & & & & & printf(&%d&,Channel1Pulse);
& & & & & & & & & & & & & & & & printf(&%d&,Channel2Pulse);
& & & && &}
void ADC1_DMA_Init(void)
& & & & ADC_InitTypeDef& &&&ADC_InitS
& & & & GPIO_InitTypeDef& & GPIO_InitS
& & & & DMA_InitTypeDef & & & & DMA_InitS
& & & & ADC_DeInit(ADC1);
&&/* Enable&&GPIOA clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
&&/* ADC1 Periph clock enable */
&&RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
&&/* DMA1 clock enable */
&&RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1 , ENABLE);
/* Configure PA.01& & & & as analog input */
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
&&GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
&&GPIO_Init(GPIOA, &GPIO_InitStructure);& && & // PC1,ê?è?ê±2?ó?éè???ù?ê
/* DMA1 Channel1 Config */
&&DMA_DeInit(DMA1_Channel1);
&&DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC1_DR_A& && &&&//????íaéèμ??·
&&DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&RegularConvData_T& && & // ?????ú′?ó3é?μ??·
&&DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;& & & & & & & & & & & & & & & & & & & & & & & && & // ???¨íaéèμ??′?ò????μ?μ?
&&DMA_InitStructure.DMA_BufferSize = 2;& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & // DMA ?o3?éè??& &//?o3??a2
&&DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_D& && && && & //éè??íaéèμ??·ê?·????ó?ò2????ó&&//1?íaéèμ??·??êy
&&DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_E& && && && && && && & // éè???ú′?μ??·ê?·????ó?ò2????ó //1??ú′?μ??·??êy
&&DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfW&&//íaéèêy?Y?í?èéè??
&&DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfW& & & & & & & && & //?ú′?êy?Y?í?èéè??& &//°?×??ú
&&DMA_InitStructure.DMA_Mode = DMA_Mode_C& & & & & & & & & & & & & & & & & & & & & & & & & & & && & // DMA ?£ê?& && && & //?-?·?£ê?
&&DMA_InitStructure.DMA_Priority = DMA_Priority_H& & & & & & & & & & & & & & & & & & & & & & & && & // DMA ó??è??& && &&&//??ó??è??
&&DMA_InitStructure.DMA_M2M = DMA_M2M_D& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & && & // memory-to-memory ′?ê??£ê?éè??&&//1??ú′?μ??ú′?
&&DMA_Init(DMA1_Channel1, &DMA_InitStructure);
/* DMA1 Channel1 enable */& && && && && && && && && && && && &&&
DMA_Cmd(DMA1_Channel1, ENABLE);& && && && && && &&&//?????μμà& &&&//?μμàê1?ü& && && &
/* ADC DMA request in circular mode */
ADC_DMARequestModeConfig(ADC1, ADC_DMAMode_Circular);& && &&&//????DMA ?-?·?£ê?
/* Enable ADC_DMA */
ADC_DMACmd(ADC1, ENABLE);&&
/* Initialize ADC structure */& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&&/* 3?ê?ADC ????*/
ADC_StructInit(&ADC_InitStructure);
/* Configure the ADC1 in continous mode withe a resolutuion equal to 12 bits&&*/
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;&&// ????ADC μ?×a?ˉ·?±??ê& &/* ????ADC1 ?úá?D??£ê???·?±??ê?a12 bits */
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;& && &// ????????á?D?2é?ù?òμ¥′?2é?ù
ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_N&&// ADC ?ú2?±??μ′¥·¢
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_R& && && && && && & // éè??ADC ê?×ó?????ò??óò????
ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_B
ADC_Init(ADC1, &ADC_InitStructure);
//& &/* Convert the ADC1 temperature sensor&&with 55.5 Cycles as sampling time */
//& &ADC_ChannelConfig(ADC1, ADC_Channel_TempSensor , ADC_SampleTime_55_5Cycles);&&
//& &ADC_TempSensorCmd(ENABLE);
&&/* Convert the ADC1 Vref&&with 55.5 Cycles as sampling time */
&&ADC_ChannelConfig(ADC1, ADC_Channel_1&&, ADC_SampleTime_55_5Cycles);
//& &ADC_VrefintCmd(ENABLE);
/* ADC Calibration */
ADC_GetCalibrationFactor(ADC1);& && && &&&/* ADC ?ì?è*/
ADC_DMACmd(ADC1, ENABLE);
/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);& && && && & /* ê1?üADC1 */
/* Wait the ADCEN falg */
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN));& && &/* μè′yADCEN ±ê??*/
/* ADC1 regular Software Start Conv */& &&&
ADC_StartOfConversion(ADC1);& && && && && &&&/* ADC1 ?¨?ú±???*/
void GPIOA_Init(void)
& & & & GPIO_InitTypeDef& & & & GPIO_InitS
& & & & /* ê1?üGPIO ê±?ó*/
& & & & & & & & RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA, ENABLE);
& & & & & & & & /* ????GPIO 8?¢9 1ü??2?êyéè??*/
& & & & & & & & GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_11;
& & & & & & & & GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
& & & & & & & & GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
& & & & & & & & GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
& & & & & & & & GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
& & & & & & & & GPIO_Init(GPIOA, &GPIO_InitStructure);
& & & & & & & & /* GPIO 1ü???′ó?éè??*/
& & & & & & & & GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_2);
& & & & & & & & GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_2);
void TIM1_PWM_Init(void)
& & & & TIM_TimeBaseInitTypeDef&&TIM_TimeBaseS
&&TIM_OCInitTypeDef&&TIM_OCInitS
& & & & /* TIM1 ê±?óê1?ü*/
& & & & RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
&&TimerPeriod = (SystemCoreClock / 17570 ) - 1;
& & & & /* Time ?¨ê±?ù′?éè??*/
& & & & TIM_TimeBaseStructure.TIM_Prescaler = 0;& && && && && && && &/*!???¨ó?à′??·?TIM ê±?ó?¤·??μ?μ*/
& & & & TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;&&/*!???¨μ???êy?÷?£ê?*/
& & & & /* Time ?¨ê±éè???aé?éy???????£ê?*/
& & & & TIM_TimeBaseStructure.TIM_Period = TimerP& && && && &&&/*éè??ê±?ó?ü?ú*/
& & & & TIM_TimeBaseStructure.TIM_ClockDivision = 0;& && && && && &&&/*éè?¨ê±?ó·??μ*/
& & & & TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;& && && && & /*???¨???′??êy?÷?μ*/
& & & & TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
& & & & /* ?μμà1μ?PWM ?£ê?éè??*/
& & & & TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;& && &&&/*!???¨μ?TIM ?£ê?*/
& & & & TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_E& &&&/*???¨μ?TIM ê?3?±è??×′ì?*/
& & & & TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_E& &/*???¨TIM ?¥21μ?ê?3?±è??×′ì?. */
& & & & TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_L& && && & /*???¨μ???3??μ±?×°è?μ?2?×?±è????′??÷*/
& & TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_H& & & & & & & && &/*???¨μ??¥21ê?3???D?*/
& & TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_S& && &&&/*???¨?ú???D×′ì???μ?TIM ê?3?±è??òy??μ?×′ì?*/
& & TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_R& &&&/*???¨?ú???D×′ì???μ??¥21TIM ê?3?±è??òy??μ?×′ì?. */
& & & & TIM_OCInitStructure.TIM_Pulse = Channel1P& && & //ê1?ü?μμà1 ????& &/*???¨μ???3??μ±?×°è?μ?2???±è????′??÷*/
& & TIM_OC1Init(TIM1, &TIM_OCInitStructure);
& & & & TIM_OCInitStructure.TIM_Pulse = Channel2P& && & //ê1?ü?μμà2 ????& &/*???¨μ???3??μ±?×°è?μ?2???±è????′??÷*/
& & TIM_OC4Init(TIM1, &TIM_OCInitStructure);
& & & & /* TIM1 ?????÷ê1?ü*/
& & & & TIM_Cmd(TIM1, ENABLE);
& & & & /* TIM1 ?÷ê?3?ê1?ü*/
& & & & TIM_CtrlPWMOutputs(TIM1, ENABLE);
#ifdef&&USE_FULL_ASSERT
&&* &&Reports the name of the source file and the source line number
&&*& && && &where the assert_param error has occurred.
&&* @param&&file: pointer to the source file name
&&* @param&&line: assert_param error line source number
&&* @retval None
void assert_failed(uint8_t* file, uint32_t line)
&&/* User can add his own implementation to report the file name and line number,
& &&&ex: printf(&Wrong parameters value: file %s on line %d\r\n&, file, line) */
&&/* Infinite loop */
&&while (1)
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
主题帖子积分
专家等级:结帖率:15%
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
是不是差了个中断:dizzy:
主题帖子积分
---------------------
主题帖子积分
---------------------
专家等级:结帖率:97%打赏:0.00受赏:40.00
主题帖子积分
---------------------
AD采样获取PWM的功能。通过信号发生器产生的信号接入stm32 m0的 P1管脚,然后从P8管脚测试输出的波形
方案没有问题, 缺的是细心的调试.
现在 uV4 里复制出来的代码, 中文注释全乱码! 真讨厌. 不过在复制前, 如下设置可以解决这个问题
菜单:&&Edit-&Configuration
弹出窗口 Editor 标签的左上角, Encoding 改成 Chinese GB2312, 确定后再复制就可以了
欢迎进入 !
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
主题帖子积分
专家等级:结帖率:15%
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
airwill 发表于
AD采样获取PWM的功能。通过信号发生器产生的信号接入stm32 m0的 P1管脚,然后从P8管脚测试输出的波形
细心的调试:'(这个搞了很久也无果。所以才来的,估计不够细心啊
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
主题帖子积分
专家等级:结帖率:15%
主题帖子积分
中级技术员, 积分 135, 距离下一级还需 165 积分
中级技术员, 积分 135, 距离下一级还需 165 积分
airwill 发表于
AD采样获取PWM的功能。通过信号发生器产生的信号接入stm32 m0的 P1管脚,然后从P8管脚测试输出的波形
:handshake不过版主的确帮了个小忙:handshake
荣誉元老奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章

我要回帖

更多关于 大神帮忙ps 的文章

 

随机推荐