There's a few gotchas when using a scope for serial decode. As always, take a long capture and high input setting to see what is going on, and then change both time and V/Div settings to the correct level for the signal of interest. Make the vertical scale as big as possible to ensure you get the best vertical (voltage) accuracy without going outside the display.
Auto/normal/single trigger mode
Most of the time, the "auto" mode is used as it will throw up the contents of the memory to the screen, regardless of the trigger condition being met or not. This is not what you want for serial data as it can jump around the screen or the auto mode refresh-time can miss packets completely. So you want to set to "normal" trigger mode - this will only display data when the trigger condition is met.
Trigger condition
Most scopes with the serial decode option will have the option to trigger on the serial packet - easiest to work from is "start of frame" condition or similar. You can then refine to a particular "packet ID"/"address" or "data value" if that's of interest. This can be tricky to set up and you often need to copy the conditions for decode to the trigger menu.
Decode
There may still be some settings you need to adjust in the menu, such as baud rate, start/stop bits, etc. in order to decode correctly.
Decode threshold level
Depending on the signal, you typically want the threshold level for decode to be at 50% of the signal level to avoid noise, bounce or probe loading or probe compensation. You can adjust the threshold level to reduce these measurement-sourced errors.
Segmented memory
Not all scopes offer this, but it's really useful for serial data. Normally, a scope fills the memory from the trigger point, and regardless of what signal is captured, that takes up memory and is displayed. So if you're bus loading is only 1%, then 99% of the memory is wasted on acquiring no signal and displaying nothing but the baseline noise. Segmented memory allows you to set the scope to only capture a signal of interest, then wait to capture the next one, and so on. You can set as many segments as you want: 2, 10, 50, 100 or 1,000s, depending on the scope's capability and total memory length. Once this is full or you stop the scope, you can then review or overlay the individual acquisitions, effectively giving you millions or billions of points of data that are only focused on the thing you want.