今天主要捣鼓串口,串口搞好了,加在采样热敏电阻数码管显示的工程中。
采用串口0.
原理图:
代码:- #include "SC_Init.h" // MCU initialization header file, including all firmware library header files
- #include "SC_it.h"
- #include "..\Drivers\SCDriver_list.h"
- #include "HeadFiles\SysFunVarDefine.h"
- #include "HeadFiles\FunctionType.h"
- #include "rd8_conf.h"
- /**************************************Generated by EasyCodeCube*************************************/
- USCI0_HandleInfoDef USCI0_HandleInfo;
- /*************************************.Generated by EasyCodeCube.************************************/
- uint8_t TxData[10] = {0x74,0x65,0x6d,0x70,0x3d,0x3a,0,0,0x0d,0x0a};
- /*****************************************************************************************************
- * Function Name: main
- * Description : This function implements main function.
- * Arguments : None
- * Return Value : None
- ******************************************************************************************************/
- void main(void)
- {
- unsigned long int i=0;
- /*<Generated by EasyCodeCube begin>*/
- /*<UserCodeStart>*//*<SinOne-Tag><36>*/
- IcResourceInit();
- /*<UserCodeEnd>*//*<SinOne-Tag><36>*/
- /*<UserCodeStart>*//*<SinOne-Tag><4>*/
- /*****MainLoop*****/
- while(1)
- {
- /*<UserCodeStart>*//*<SinOne-Tag><94>*/
- if(T0Flag50ms)
- {
- T0Flag50ms=0;
- /*<UserCodeStart>*//*<SinOne-Tag><95>*/
- LedDisp();
- /*<UserCodeEnd>*//*<SinOne-Tag><95>*/
- /*<UserCodeStart>*//*<SinOne-Tag><97>*/
- GetADCValue();
- /*<UserCodeEnd>*//*<SinOne-Tag><97>*/
- /*<UserCodeStart>*//*<SinOne-Tag><96>*/
- GetTemperature();
- /*<UserCodeEnd>*//*<SinOne-Tag><96>*/
- /*<UserCodeStart>*//*<SinOne-Tag><98>*/
- Led_DisplayData(TEMP%10,TEMP/10,TempSign,16);
- TxData[6]=(uint8_t)((TEMP/10)+0x30);
- TxData[7]=(uint8_t)((TEMP%10)+0x30);
- //显示时钟点 DOTDISPLAY:开 DOTUNDISPLAY:关
- Led_DisplayDot(DOTUNDISPLAY,DOTUNDISPLAY,DOTUNDISPLAY,DOTUNDISPLAY);
-
- /*<UserCodeEnd>*//*<SinOne-Tag><98>*/
- /*<Begin-Inserted by EasyCodeCube for Condition>*/
- }
- i++;
- if(i>=9000000)
- {
- i=0;
- USCI0_HandleInfo.TxState = USCI0_STATE_READY;
- while(USCI0_UART_Transmit(&USCI0_HandleInfo, TxData, 10, 0xFFFF)== Status_OK);
-
- }
- /*<UserCodeEnd>*//*<SinOne-Tag><94>*/
- /*<Begin-Inserted by EasyCodeCube for Condition>*/
- }
- /*<UserCodeEnd>*//*<SinOne-Tag><4>*/
- /*<Generated by EasyCodeCube end>*/
- }
初始化程序
- #include "SC_Init.h"
- #include "SC_it.h"
- #include "..\Drivers\SCDriver_list.h"
- #include "HeadFiles\SysFunVarDefine.h"
- /**************************************Generated by EasyCodeCube*************************************/
- void IcResourceInit()
- {
- /*<UserCodeStart>*//*<SinOne-Tag><37>*/
- SC_Init(); /***MCU init***/
-
- /*<UserCodeEnd>*//*<SinOne-Tag><37>*/
- }
- /*****************************************************
- *函数名称: SC_Init
- *函数功能: MCU初始化函数
- *入口参数:void
- *出口参数:void
- *****************************************************/
- void SC_Init(void)
- {
- SC_GPIO_Init();
- SC_OPTION_Init();
- SC_TIM0_Init();
- SC_ADC_Init();
- SC_DDIC_Init();
- SC_USCI0_Init();
- /*write initial function here*/
- EA = 1;
- }
- /*****************************************************
- *函数名称: SC_USCI0_Init
- *函数功能: USCI0初始化函数
- *入口参数:void
- *出口参数:void
- *****************************************************/
- void SC_USCI0_Init(void)
- {
- /*USCI0_Init write here*/
- GPIO_Init(GPIO0, GPIO_PIN_5,GPIO_MODE_IN_PU);
- GPIO_Init(GPIO0, GPIO_PIN_6,GPIO_MODE_IN_PU);
- USCI0_ITConfig(DISABLE,LOW);
- USCI0_UART_Init(32000000,115200,USCI0_UART_Mode_10B,USCI0_UART_RX_ENABLE);
- }
子程序:
|