注释掉的为转四字节方案
未注释掉的为直观显示数据方案
/******************************************************
定时器1中断1ms
******************************************************/
INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
// uint16_t i, j;
//
// TIM1_ClearITPendingBit(TIM1_IT_UPDATE);
//
//
// GPIO_WriteHigh(GPIOD, GPIO_PIN_3);
// while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
// UART3_SendData8(1);
//
// for(i = 0; i < 60000; i++);
//
// GPIO_WriteLow(GPIOD, GPIO_PIN_3);
static u16 time = 0;
float root = 0;
// u8 * p;
// u8 ftc1, ftc2, ftc3, ftc4;
// u8 high3, low3;
TIM1_ClearITPendingBit(TIM1_IT_UPDATE);
UartReadMonitor(1);
if(time == 100)
{
GPIO_WriteHigh(GPIOD, GPIO_PIN_3);
root = SF6Root(273,0.5);
while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
UART3_SendData8((u8)((unsigned int)(root/100)%10)+48);
while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
UART3_SendData8((u8)((unsigned int)(root/10)%10)+48);
while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
UART3_SendData8((u8)((unsigned int)(root/1)%10)+48);
while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
UART3_SendData8('.');
while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
UART3_SendData8((u8)((unsigned int)(root*10)%10)+48);
while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
UART3_SendData8((u8)((unsigned int)(root*100)%10)+48);
while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
UART3_SendData8((u8)((unsigned int)(root*1000)%10)+48);
// p = (u8 *)(&root);
//
// high3 = (u8)root;
// low3 = (u8)((root - high3)*100);
//
// ftc1 = *p++;
// ftc2 = *p++;
// ftc3 = *p++;
// ftc4 = *p;
// while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
// UART3_SendData8(high3);
// while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
// UART3_SendData8(low3);
// while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
// UART3_SendData8(ftc4);
// while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
// UART3_SendData8(ftc3);
// while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
// UART3_SendData8(ftc2);
// while(( UART3_GetFlagStatus(UART3_FLAG_TXE)==RESET));
// UART3_SendData8(ftc1);
time = 0;
}
time++;
}