本帖最后由 众想@刘洋 于 2018-9-20 10:42 编辑 8 Z/ T2 }9 l1 Y# S& m3 B* E7 C 剑齿虎STM8视频教程分为【库函数】和【寄存器】两个版本,前8讲是一样的,都是讲的基础环境搭建,从第9讲开始区分库函数版和寄存器版。) I# ^) Z: u ]0 I/ K- E4 k9 \ 1-8讲视频可点击下面链接查看: https://www.stmcu.org.cn/module/forum/thread-606881-1-1.html4 j: m' v M& w' G 前言-STM8单片机视频介绍. s& M# l1 k8 p2 U& q3 E/ Q' C ; l8 L- t' X; l' H: o/ J+ j 第09讲 STM8芯片内部结构(上)6 M7 L6 L' L8 _" R2 n" R0 ?$ m* d% G( | 第09讲 STM8芯片内部结构(下)0 i1 y* w" }- Q( l( F1 `& r 第10讲 STM8芯片手册与引脚标识介绍2 F8 x8 n V# P, \ 第11讲 发光二极管的原理与应用(上) ! r; ~& A) z+ j( O" x* V! e. x 第11讲 发光二极管的原理与应用(下) 第12讲 通用输入输出GPIO寄存器配置8 ~& p2 F7 p. r1 s* ~ 第13讲 点亮第一个LED发光二极管. e: w1 h! L$ }5 ^ : e% K( [4 r N1 d( ]& j/ y6 F- q 第14讲 创建自己的STM8工程模版(上) / Q0 t6 G/ _1 L% p* s: R 第14讲 创建自己的STM8工程模版(下) , W" _2 z/ q Y: Q 第15讲 STM8单片机时钟源选择和时钟树配置! J# `9 r( D+ ? R M' j 2 J1 A" O8 o# n 第16讲 创建STM8延时函数完善工程模版 第17讲 键盘分类与独立键盘检测(上)% x2 W" [6 V* J 第17讲 键盘分类与独立键盘检测(下) 第18讲 独立键盘实验--长短键盘检测; [' Q& U+ {3 s) ?8 b 第19讲 独立键盘实验--控制花样流水灯4 ]$ S5 r# F8 Y* ] 第20讲 光耦隔离继电器原理与实验(上) 第20讲 光耦隔离继电器原理与实验(下) 8 G. s) N3 q/ C4 \0 O 第21讲 触摸键盘原理与检测- t$ V* a$ s( o& N9 c7 |# } 第22讲 中断概念与STM8中断分类(上) 第22讲 中断概念与STM8中断分类(下)4 [3 l" F; w8 p3 E% l; v% J: C 第23讲 STM8中断优先级(上)( ^5 u7 l E( M $ ~+ O; i) a- `! M/ v 第23讲 STM8中断优先级(下) 第24讲 STM8外部中断寄存器介绍/ i- g- N# h: U: ]4 | 第25讲 STM8外部中断实验 第26讲 STM8外部中断优先级实验4 w" u) f6 L: c7 d* A1 m* | 第27讲 STM8最高级别的硬件中断TLI实验0 z* h! y+ N6 E# X6 W" _. i 第28讲(上) 单片机串口原理与应用 5 b7 a4 @- ~: g; S, ^3 q& Q1 w# F; G 第28讲(下) 单片机串口原理与应用/ L" b" Q3 J/ [ 第29讲(上) STM8串口通讯寄存器配置 第29讲(下) STM8串口通讯寄存器配置 第30讲(上) STM8单片机RS232串口通讯实验 第30讲(下) STM8单片机RS232串口通讯实验 1 A$ ?+ ~' M5 K8 \! [ 第31讲 STM8单片机RS232串口收、发字符串通讯实验 : t# [9 y+ }. |$ ` |) t 第32讲 STM8单片机RS485串口收、发字符串通讯实验 3 m' D: G: j2 f4 _" n 第33讲 加入Printf串口打印函数完善工程模版 陆续更新会在下面评论留言中 $ d: h6 S1 z J7 R# A6 _" K+ c " w5 g" V% U7 P- C ^2 u) u6 f2 u . V8 P( S0 H: L. w8 ^6 D7 h- W $ u1 H; J. X% f# B; ~ . ~9 A2 [) h- _, j9 d. I , ]* o I3 L4 Q$ M& | 6 j* C' q7 l# L8 z0 C |
% Z4 g$ j, @0 e* M9 Z
第二种方式是使用查询的方式,然后定义时间间隔 ,我使用TIM4定时器定时1ms,开定时器中断,程序可以进入中断,如果前后两个字节的时间大于2ms ,证明一帧接收完成了(同样的逻辑在STM32上用过,没问题),main 函数中的
while(1)* J! W5 ^9 \7 Z5 E: ]% l A; p o
{4 x3 u o5 l6 u# T/ D6 g m
if(UART1->SR & 0x20 == 0x20 || UART1->SR & 0x10 == 0x10 ||UART1->SR & 0x08 == 0x08)1 p6 D! V4 E- D1 x
{6 p8 W+ Z7 w o& w/ X
程序走到这里就说明接收一个字节,但是程序走不到这里,而且程序停止的时候,接收慢标志和溢出标志位均为1,想知道为啥进不来?8 o: M( i+ ^1 {+ W
}+ s7 b1 S4 a$ R" e j
}
启动USART功能后 对应的引脚自动配置了,大部分都是自动配置的 我们视频教程讲了 寄存器视频教程也有课程对应的例程,实验课解压后都有,理论课没有