本帖最后由 众想@刘洋 于 2018-9-20 10:42 编辑 剑齿虎STM8视频教程分为【库函数】和【寄存器】两个版本,前8讲是一样的,都是讲的基础环境搭建,从第9讲开始区分库函数版和寄存器版。 1-8讲视频可点击下面链接查看:' z! k' o: w) L: j" B https://www.stmcu.org.cn/module/forum/thread-606881-1-1.html+ q* j% _ L9 ^+ J2 ?2 X 前言-STM8单片机视频介绍8 D) @; s( Q7 R) | 1 m/ c+ y+ o$ ^$ {( g) T! ~ 第09讲 STM8芯片内部结构(上)) ~; A1 g+ n; G$ g E9 g2 B; ^4 O V, l u/ n8 x! \$ l3 \9 m6 c 第09讲 STM8芯片内部结构(下) 第10讲 STM8芯片手册与引脚标识介绍 7 |9 c7 v, T7 w6 l8 n 第11讲 发光二极管的原理与应用(上) 第11讲 发光二极管的原理与应用(下) : A7 n8 I( _0 b+ h( d 第12讲 通用输入输出GPIO寄存器配置 ' ~8 A M9 L4 M8 N# g, Y' Q2 x 第13讲 点亮第一个LED发光二极管: j# J+ g8 I8 Z" a' w6 |% m3 h! F! w / l# b0 f3 _; g1 u5 p 第14讲 创建自己的STM8工程模版(上)% b, z2 A' q+ w 第14讲 创建自己的STM8工程模版(下); L( k% l0 [, j/ L 第15讲 STM8单片机时钟源选择和时钟树配置 4 N6 [+ i2 S) L2 U 第16讲 创建STM8延时函数完善工程模版" q9 j) D7 w: z( B# F; R2 J8 z) ^ 7 W& O( q1 d0 x( B( ]* k 第17讲 键盘分类与独立键盘检测(上) & J0 W( _& D/ l) q4 ~) c- u# S _ 第17讲 键盘分类与独立键盘检测(下) C# Y+ N+ U! S$ I; i 第18讲 独立键盘实验--长短键盘检测/ U: _( y2 c1 I3 g7 z+ P ) y1 u$ ^$ F2 u/ y: O* C 第19讲 独立键盘实验--控制花样流水灯) \ H+ |% z ?- s9 f 4 A# x( u6 _8 x4 x# N 第20讲 光耦隔离继电器原理与实验(上) 第20讲 光耦隔离继电器原理与实验(下)! z' X& Z: O- t, s0 p W 第21讲 触摸键盘原理与检测" _- q) o' G- H! n+ E% u 7 s& f: I* G, ?5 O( n- m; A 第22讲 中断概念与STM8中断分类(上)* V B0 S0 _0 [3 a. ~, y0 t ' G1 F. L+ }! Q. h2 s7 b 第22讲 中断概念与STM8中断分类(下) : v, A+ e+ O6 n2 n3 I$ X 第23讲 STM8中断优先级(上)/ o: i/ b, J; p. R3 o" i1 p ' j' X5 |: D8 c. u( M1 Q 第23讲 STM8中断优先级(下) 第24讲 STM8外部中断寄存器介绍 : V$ m8 o; j# u+ H 第25讲 STM8外部中断实验 4 I. ^8 z+ ~# S3 g" p 第26讲 STM8外部中断优先级实验 + S8 v8 }7 Z( f( g/ C 第27讲 STM8最高级别的硬件中断TLI实验1 z8 ?. n( z/ i4 M 第28讲(上) 单片机串口原理与应用 h' t% y/ j( M1 s+ T& p 第28讲(下) 单片机串口原理与应用) z. M5 q4 C9 u8 _. E; K4 e , c( W$ L1 h r" ?( | 第29讲(上) STM8串口通讯寄存器配置 第29讲(下) STM8串口通讯寄存器配置" R v7 [7 B6 R' q6 }' Z! ]6 W4 C$ P , @0 G0 }3 _2 G3 ]$ H: ^ 第30讲(上) STM8单片机RS232串口通讯实验 ( V9 W; [ t- F% H" a. A: F 第30讲(下) STM8单片机RS232串口通讯实验 + q" q4 J2 n) s+ K/ t; G) g 第31讲 STM8单片机RS232串口收、发字符串通讯实验 e1 ?: @+ j& Y# L 3 k/ E: ?. C! X* y1 X 第32讲 STM8单片机RS485串口收、发字符串通讯实验 第33讲 加入Printf串口打印函数完善工程模版 陆续更新会在下面评论留言中 ' i( M4 r# ]2 ]5 [: K, R* x ' V! b: W* o& r3 O9 \2 I " k2 Z! G! n* F% {- |6 d {( D . C5 l0 |6 C( a2 K' o" Q |
: Z3 V4 P9 ]( G& w }: U
第二种方式是使用查询的方式,然后定义时间间隔 ,我使用TIM4定时器定时1ms,开定时器中断,程序可以进入中断,如果前后两个字节的时间大于2ms ,证明一帧接收完成了(同样的逻辑在STM32上用过,没问题),main 函数中的 1 M, ^% Z9 R+ j4 o
while(1)2 c, F& {7 x0 w* [, W/ C7 l" l: M! r
{" ^- z3 k2 e" @3 D5 A& f6 y0 K# n
if(UART1->SR & 0x20 == 0x20 || UART1->SR & 0x10 == 0x10 ||UART1->SR & 0x08 == 0x08)9 w$ F: y% y. Q3 R! i: ]
{
程序走到这里就说明接收一个字节,但是程序走不到这里,而且程序停止的时候,接收慢标志和溢出标志位均为1,想知道为啥进不来?0 k- \& |8 G* Y
}0 P+ R& E" D- N4 O# b
}
启动USART功能后 对应的引脚自动配置了,大部分都是自动配置的 我们视频教程讲了 寄存器视频教程也有课程对应的例程,实验课解压后都有,理论课没有