-
求助keilC51用定时中断问题
在定时中断中用一个全局变量tms来计时,然后在延时子程序中利用tms做延时,程序如下:u8 tms; void Delay(u8 ms); void main(void) { WTST = 0; //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快 EAXSFR(); //扩展SFR(XFR)访问使能 CKCON = 0; //提高访问XRAM速度 GPIO_config(); Timer_config(); EA = 1; Delay(10); while (1); } void Timer0_ISR_Handler (void) interrupt TMR0_VECTOR //进中断时已经清除标志 { // TODO: 在此处添加用户代码 ++tms; } void Delay(u8 ms) { tms=0; while(tms
10079浏览量 12回复量 关注量 -
关于HC32L196串口奇偶校验问题
在配置HC32L196的串口0时,使用了mode 3, 下载视频 关于配置奇偶校验的地方不是很理解, stcCfg.enRunMode = UartMskMode3; ///<模式3 stcCfg.enStopBit = UartMsk1bit; ///<1bit停止位 stcCfg.enMmdorCk = UartMskDataOrAddr; ///< stcCfg.stcBaud.u32Baud = 115200; ///<波特率115200 stcCfg.stcBaud.enClkDiv = UartMsk8Or16Div; ///<通道采样分频配置 stcCfg.stcBaud.u32Pclk = Sysctrl_GetPClkFreq(); ///<获得外设时钟(PCLK)频率值 Uart_Init(M0P_UART0, &stcCfg); ///<串口初始化 UartMskDataOrAddr = 0u, ///<多机模式时,通过读写SBUF[8]决定帧为数据帧或地址帧 UartMskEven = 0x4u, ///<非多机模式偶校验 UartMskOdd = 0x8u, ///<非多机模式奇校验 这三个值,下面两个好理解,奇校验和偶校验, 但是第一个,它是无奇偶校验的意思么? 当我配置为 UartMskDataOrAddr 时 与电脑上的串口调试软件无法正常通讯 有没有人知道这个 UartMskDataOrAddr 是啥意思?
9075浏览量 3回复量 关注量 -
多个相同的产品模块用lin通信,如何区分id?
[align=left][color=rgb(85, 85, 85)][backcolor=rgb(255, 255, 255)][font="]我在做一个非汽车电子的产品应用,用的[color=rgb(170, 102, 102)]TMS320F28035[/color][/font][/backcolor][/color][/align][align=left][color=rgb(85, 85, 85)][backcolor=rgb(255, 255, 255)][font="]其结构是一个主控下面挂载了16个 相同的产品模块。产品通信方式我选择了lin通信协议。[/font][/backcolor][/color][/align][align=left][color=rgb(85, 85, 85)][backcolor=rgb(255, 255, 255)][font="]有一个问题是,当模块组装时候如何给这16个模块设置不同的id,我想过在模块上加拨码开关,但这样操作太麻烦,要拆壳子。有没有什么好的方式。[/font][/backcolor][/color][/align][align=left][color=rgb(85, 85, 85)][backcolor=rgb(255, 255, 255)][font="]有经验的朋友给个建议,提前感谢[/font][/backcolor][/color][/align]
1516浏览量 4回复量 关注量